当前位置: 代码迷 >> Sql Server >> 查询全部下级单位的SQL
  详细解决方案

查询全部下级单位的SQL

热度:90   发布时间:2016-04-24 10:18:34.0
查询所有下级单位的SQL
本帖最后由 chen23520 于 2014-07-21 11:54:44 编辑
表有3列:单位编号、级次、上级单位:
dwbh jc sjdw
00 1
01 2 00
0101 3 01
0102 3 01
02 2 00
0201 3 02
0202 3 02
020201 4 0202
020202 4 0202
现在要查询任意一个单位编号的所有下级单位,如查询02 的所有下级单位。求解决方案
------解决方案--------------------
create table #a(dwbh varchar(10) ,jc int ,sjdw varchar(10))
insert into #a values('00',1,null),('01',2,'00'),('0101',3,'01'),('0102',3,'01'),('02',2,'00')
,('0201', 3 ,'02'),('0202', 3 ,'02'),('020201', 4 ,'0202'),('020202', 4 ,'0202')

;with _a as (
select * from #a where dwbh = '02'
union all
select a.* from #a a 
join _a b on a.sjdw = b.dwbh
)
select * from _a

drop table #a
--------------------------------------------------------------
dwbh jc sjdw
02 2 00
0201 3 02
0202 3 02
020201 4 0202
020202 4 0202

  相关解决方案