当前位置:Gxlcms > mssql > MSSQL中递归SQL查询语句实例说明-

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

时间:2021-07-01 10:21:17 帮助过:50人阅读

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

您可能感兴趣的文章:

  • 基于mysql查询语句的使用详解
  • 关于SQL Server查询语句的使用
  • T-SQL 查询语句的执行顺序解析
  • SQL Server SQL高级查询语句小结
  • SQL查询语句通配符与ACCESS模糊查询like的解决方法
  • 防SQL注入 生成参数化的通用分页查询语句
  • SQl 跨服务器查询语句
  • SQL查询语句精华使用简要
  • SQL 查询语句积累
  • 基于SQL中的数据查询语句汇总

人气教程排行