當前位置:首頁 » 編程語言 » sql查詢所有下級
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql查詢所有下級

發布時間: 2023-01-31 04:27:15

❶ 高難!小白求救,sql 每層有一到三個下級如何查詢子樹

類似這種語法,你可以參考一下:

WITH leaderCTE as(
SELECT id, name,manager
FROM [lulinghao].[dbo].[YGB]
WHERE name = @name

UNION ALL

SELECT ygb.id, ygb.name,ygb.manager
FROM [lulinghao].[dbo].[YGB] as ygb
inner join leaderCTE lce on lce.manager = ygb.id
)
SELECT case when [id]=100 then 1 when [id]=101 OR [id]=102 then 2 else 3 end as leaderlevel,
name as leadername
FROM leaderCTE

❷ 求一條sql用於查詢下級分類

SELECT sid,SUM(money) FROM (
SELECT SUBSTR(id,1,2) sid,money FROM tablename WHERE id != SUBSTR(id,1,2)
)A GROUP BY sid;

❸ 一張表table,樹形結構,id唯一標識,name姓名,pid上級id, 求一條sql語句查詢出某人所有下屬員工

最好增加一個欄位Code,然後用所有父類ID和個人ID組成字元串
比如12/234/3456/7890
其中12為第一層,234為第二層,3456為第三層,7890為第四層本身ID
第三層是這個人的父類ID,第二層是第三層的父類。。。

然後查詢的時候,先獲取該員工的Code,
然後select * from table1 where code like 'Code%';

❹ 關於sql的上下級查詢統計(如圖)

selectcode_name,amountfrom
(selectleft(code,2)ascode,ISNULL(SUM(amount),0)asamount
fromagroupbyleft(code,2))astmp
innerjoinbontmp.code=b.code

❺ sql查詢問題(查找fid是否有下級目錄),請大家幫幫

select * from t1 a where exists(select fid from t1 where pid=a.dif)

有記錄就有下級目錄,無記錄則沒有

❻ 地區—內地—省—市—縣,寫一條SQL語句,無論點誰都能看到所有下級內容, 表:area id ,parentid ,name

如果是sql,你分多次請求,就如下,如果你是讀取一次後,保存到緩存,或者XML等文件中,那麼你就需要使用程序遞歸來處理

1、只看該父級下的自己

select * from Area

where pid = 你點擊的內容的ID

2、CTE遞歸得到該父級下的所有子級(包含子級的子級)數據

完整的例子如下

--CTE遞歸查詢
if(object_id(N'menu')>0)
droptablemenu

CREATETABLEMENU
(
namenvarchar(50)NOTNULLPRIMARYKEY,
seniornvarchar(50)NULL
);

INSERTINTOMENUvalues
('文件',NULL),
('新建','文件'),
('項目','新建'),
('項目11111','項目'),
('項目22222','項目'),
('項目33333','項目'),
('使用當前連接查詢','新建');

WITHlmenu(name,senior,level)as
(
SELECTNAME,SENIOR,0levelFROMMENUWHEREname='新建'
UNIONALL
SELECTA.NAME,A.SENIOR,b.level+1FROMMENUA,lmenub
wherea.senior=b.name
)
SELECT*fromlmenu

❼ SQL語句怎麼獲取下級所有部門

一級部門的所有下級部門就用 like "01-%" 即可,方便實惠。
你現在的編號么,也可以用這個方式轉換一下,例如加個欄位,再把編號都這樣連起來放這個編號里專門做查詢用。

❽ sql如何取某個部門的所有子部門

假設表名為 tb, id=001
select * from tb where parentid=(select parentid from tb where id=001)
上面的語句只能找到下級部門,三級就找不到了。建議部門編碼使用層級式的,這樣就很容易了

❾ sql查詢當前及其下級組織的人數

select * from 表名 a where not exists(select 1 from 表名 where goods_ParentID=a.goods_ID )