CTE 递归举例

复制代码
 1
 2--递归CTE
 3
 4Use tempdb
 5Go
 6
 7Create Table Dept(
 8    Id Int primary key,
 9    Parent_Id int,
10    [name] nvarchar(50)
11)
12
13Insert Dept
14Select 0,0,N'<All>' Union All
15Select 1,0,N'财务部' Union All
16Select 2,0,N'行政部' Union All
17Select 3,0,N'业务部' Union All
18Select 4,3,N'软件开发' Union All
19Select 5,3,N'软件测试' 
20Go
21
22--查询所有部门
23Declare @DeptName nvarchar(50)
24Set @DeptName = '业务部'
25
26;With
27CTE_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
38Select * From CTE_Depts
复制代码
欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2009/03/22/1418756.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值