码迷,mamicode.com
首页 > 数据库 > 详细

MS SQL Server递归查询

时间:2014-06-17 14:51:10      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   tar   

刚才在论坛上看到网友一个要求。参考如下,Insus.NET分析一下,可以使用MS SQL Server的递归查询,得到结果。
bubuko.com,布布扣



准备一张表:
bubuko.com,布布扣


根据网友提供的数据,填充此表:
bubuko.com,布布扣


下面语法在SQL Server 2014之下运行正常:
bubuko.com,布布扣

上面代码示例中,完整SQL代码:

bubuko.com,布布扣
WITH TempDeptment ([ID],[PID],[DeptName],[Conjunction]) AS
(
    SELECT [ID],[PID],[DeptName], CAST([DeptName] AS Nvarchar(1000)) FROM [dbo].[Deptment] WHERE [PID] = 0
    UNION ALL
    SELECT d.[ID], d.[PID], d.[DeptName], CAST(([Conjunction] + N/ + d.[DeptName]) AS Nvarchar(1000))    FROM TempDeptment AS td,[dbo].[Deptment] AS d WHERE td.[ID] = d.[PID]
)
SELECT [ID], [Conjunction] FROM TempDeptment
View Code


运行结果:
bubuko.com,布布扣

 

  Insus.NET以前也没有在SQL中实现过递归,现刚好有一个实例,算是练习了。

 

MS SQL Server递归查询,布布扣,bubuko.com

MS SQL Server递归查询

标签:style   class   blog   code   http   tar   

原文地址:http://www.cnblogs.com/insus/p/3792516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!