查詢所有上級部門的SQL

2021-09-06 04:36:39 字數 1065 閱讀 9443

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...