服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - MSSQL中递归SQL查询语句实例说明

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

2019-12-08 21:34MSSQL教程网 Sql Server

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递归,记录下来...

延伸 · 阅读

精彩推荐