mssql server 递归查询的sql语句

下面介绍一下关于mssql
server中使用递归的sql查询语哦,有需要的朋友可以参考一下。

澳门新葡亰手机版,当前需要实现的功能:通过Number的值为67来获取当前的节点ID、父节点ID递归实现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)

实现的效果:

张表的结构如下图所示

 代码如下复制代码 with znieyu as(select c.Id,c.FatherId,0 as lv1 from ColumnTable c where c.Number=67union allselect c.Id,c.FatherId,lv1-1 from znieyu zinner join ColumnTable c on z.FatherId=c.Id)select znieyu.Id ,znieyu.FatherId,znieyu.lv1 as lv from znieyu