MSSQL中递归SQL查询语句实例讲解
来源:爱站网时间:2019-03-19编辑:网友分享
今天有位朋友遇到说需要做一些上下级的递归查询,一直没找到办法,爱站技术小编我也卡了许久,现在梳理一下,并给出MSSQL中递归SQL查询语句实例讲解,需要的朋友可以参考下其中的内容详情。
今天有位朋友遇到说需要做一些上下级的递归查询,一直没找到办法,爱站技术小编我也卡了许久,现在梳理一下,并给出MSSQL中递归SQL查询语句实例讲解,需要的朋友可以参考下其中的内容详情。
一张表(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,c.FatherId,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基本语法及实例操作