MSSQL中递归SQL查询语句实例说明-

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


MSSQL中递归SQL查询语句实例说明-


当前需要实现的功能:通过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



实现的效果:


MSSQL中递归SQL查询语句实例说明-


满足条件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递归,记录下来…

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/tech/database/234016.html

(0)
上一篇 2022年1月23日 21:12
下一篇 2022年1月23日 21:12

相关推荐

发表回复

登录后才能评论