MSSQL中递归SQL查询语句实例说明-
MSSQL中递归SQL查询语句实例说明-
发布时间:2016-12-29 来源:查字典编辑
摘要:一张表(ColumnTable)的结构如下图所示当前需要实现的功能:通过Number的值为67来获取当前的节点ID、父节点ID递归实现SQL...

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

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

当前需要实现的功能:通过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查询语句实例说明-2

满足条件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数据库学习
热门mssql数据库学习
编程开发子分类