create table testdept(
deptid int identity(1,1) primary key,
deptname varchar(16),
superdept int
); insert into testdept(deptname,superdept) values('總經辦',0);
insert into testdept(deptname,superdept) values('財務部',1);
insert into testdept(deptname,superdept) values('工程部',1);
insert into testdept(deptname,superdept) values('會計部',2);
insert into testdept(deptname,superdept) values('出納部',2);
insert into testdept(deptname,superdept) values('北京工程辦',3);
insert into testdept(deptname,superdept) values('南京工程辦',3);
希望查詢出這樣的結果:
deptid deptname superdept
0 總經辦 總經辦
1 工程部 總經辦
2 財務部 總經辦
3 會計部 財務部
4 出納部 財務部
5 北京工程辦 工程部
6 南京工程辦 工程部
select
a.deptid, a.deptname, isuperdept
=isnull
(b.deptname, a.deptname)
from
testdept a
left
join
testdept b
ona.superdept
=b.deptid
SQL查詢無限層級結構的所有下級,所有上級
無限層級結構的table1表,id 主鍵 parentid 父級id 查詢某個id的所有下級或所有上級,使用with as,union all 查詢 1 查詢id為1所有的下級 with t as select from table1 where id 1 union all select a.fr...
Mysql 查詢部門下所有部門
話不多說,直接上sql select dept id,dept name from select t1.dept id,t1.dept name,if find in set parent id,pids 0,pids concat pids,dept id 0 as ischild from se...
使用者無限分類查詢所有上級
無限級會員等級分類查詢某一使用者所有上級 表的設計,主要是裡面需要乙個 使用者本身的id和上級id的關聯即可,我這裡查詢的是id為35的所有上級,referee是我的上級字段,而使用者的主鍵欄位就id,以此這樣的表設計方可用以下方法查詢 select t2.id,t2.username,t1.lvl...