❶ 高難!小白求救,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 )