1
2
--递归CTE
3
4
Use tempdb
5
Go
6
7
Create Table Dept(
8
Id Int primary key,
9
Parent_Id int,
10
[name] nvarchar(50)
11
)
12
13
Insert Dept
14
Select 0,0,N'<All>' Union All
15
Select 1,0,N'财务部' Union All
16
Select 2,0,N'行政部' Union All
17
Select 3,0,N'业务部' Union All
18
Select 4,3,N'软件开发' Union All
19
Select 5,3,N'软件测试'
20
Go
21
22
--查询所有部门
23
Declare @DeptName nvarchar(50)
24
Set @DeptName = '业务部'
25
26
;With
27
CTE_Depts as
28
(
29
--定位点成员
30
Select * From Dept
31
Where [name]=@DeptName
32
Union All
33
Select A.*
34
From Dept A,CTE_Depts B
35
Where A.Parent_Id = B.Id
36
)
37
38
Select * From CTE_Depts
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38