SQL Server 递归SQL查询语句功能实例

前端之家收集整理的这篇文章主要介绍了SQL Server 递归SQL查询语句功能实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

一张表(ColumnTable)的结构如下图所示

图片暂缺】

当前需要实现的功能:通过Number的值为67来获取当前的节点ID、父节点ID

递归实现sql语句:

代码如下:

 
with znieyu as 
( 
select c.Id,c.FatherId,0 as lv1 from ColumnTable c where c.Number=67 
union all 
select c.Id,lv1-1 from znieyu z 
inner join ColumnTable c 
on z.FatherId=c.Id 
) 
select znieyu.Id,znieyu.FatherId,znieyu.lv1 as lv from znieyu 
 

 

实现的效果

图片暂缺】

满足条件67ID为6的递归-->6-->2(LV0)-->1(LV-1)-->0(LV-2)
满足条件67ID为8的递归-->8-->5(LV0)-->2(LV-1)-->1(LV-2)-->0(LV-3)
 很简单的一个sql递归,记录下来...

猜你在找的MsSQL相关文章