首页 > 数据库技术 > 详细

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

时间:2016-02-07 19:43:54      阅读:237      评论:0      收藏:0      [点我收藏+]

一张表(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中递归SQL查询语句实例说明-

原文:http://www.jb51.net/article/28378.htm

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!