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

 更新时间:2011年09月23日 00:02:22   作者:  
MSSQL中递归SQL查询语句分享,需要的朋友可以参考下。

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

相关文章

  • sqlserver查询去掉重复数据的实现

    sqlserver查询去掉重复数据的实现

    这篇文章主要介绍了sqlserver查询去掉重复数据的实现操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 高并发系统数据幂等的解决方案

    高并发系统数据幂等的解决方案

    本文主要介绍高并发系统数据幂等解决方案,这里整理了几种方案供大家参考,有需要的小伙伴可以参考下
    2016-08-08
  • SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询

    SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询

    这篇文章介绍了SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • MSSQL  附加数据库提示“错误 823”数据恢复实操

    MSSQL  附加数据库提示“错误 823”数据恢复实操

    这篇文章主要介绍了MSSQL 2000 附加数据库提示“错误 823”数据恢复实操,报错823一般数据库的物理页面出现了损坏或者校验值损坏导致数据库页面无法被识别还有异常断电导致的文件系统损坏,数据库页面丢失,下面针对错误 823对数据进行恢复,需要的朋友可以参考一下
    2022-03-03
  • SQL Server评估期已过问题的解决方法

    SQL Server评估期已过问题的解决方法

    这篇文章主要为大家详细介绍了SQL Server评估期已过问题的解决方法,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • SQL语法 分隔符理解小结

    SQL语法 分隔符理解小结

    单引号和双引号之间的区别最早在SQL92标准中引入的。对于标识符,这个标准区分了常规标识符和分隔的标识符。
    2009-10-10
  • MSSQL 2000 使用帮助(sql server简明教程)

    MSSQL 2000 使用帮助(sql server简明教程)

    这篇文章主要介绍了MSSQL 2000 使用帮助(sql server简明教程),需要的朋友可以参考下
    2017-04-04
  • SQLserver2019 Express安装及其一些问题解决

    SQLserver2019 Express安装及其一些问题解决

    本文主要介绍了SQL server 2019 Express 安装及其一些问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 深入分析SqlServer查询计划

    深入分析SqlServer查询计划

    最近使用到sqlserver数据库并要对查询语句进行调优,之前接触的不多,搜索网上一些帖子和查阅微软msdn资料对sqlserver的查询计划才大致了解了一些,用这篇文章做个总结。本文主要侧重对查询计划的理解,尤其是对微软复杂的运算函数的理解,如理解有误请指出。
    2014-09-09
  • ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序函数)

    ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序函数)

    SQL Server 2005新增了一个ROW_NUMBER()函数,通过它可实现类似MySQL下的LIMIT功能。下面的语法说明摘自SQL Server 2005的帮助文件
    2012-06-06

最新评论