sql server实现递归查询的方法示例
作者:继续去踢波 发布时间:2024-01-23 00:57:17
标签:sql,server,查询
本文实例讲述了sql server实现递归查询的方法示例。分享给大家供大家参考,具体如下:
有时候面对树结构的数据时需要进行递归查询,网上找了一番,参考了各位大神的文章,发现蛮简单的,当做个小笔记方便以后使用
sql server 通过CTE来支持递归查询,这对查询树形或层次结构的数据很有用
一般的树形表结构如下,相信大家都很熟悉的
id | title | pid |
---|---|---|
1 | 1级节点 | 0 |
2 | 2级节点 | 1 |
3 | 3级节点 | 2 |
4 | 4级节点 | 3 |
5 | 5级节点 | 4 |
下面上代码
----------sql server 递归查询----------
--查找上级所有节点
with uCte as
(
select a.id,a.title,a.pid from tree_table a where id = 3--当前节点
union all
select k.id,k.title,k.pid from tree_table k
inner join uCte c on c.pid = k.id
)
select * from uCte;
--查找上级所有节点
with dCte as
(
select a.id,a.title,a.pid from tree_table a where id = 3--当前节点
union all
select k.id,k.title,k.pid from tree_table k
inner join dCte c on c.id = k.pid
)
select * from dCte;
希望本文所述对大家SQL Server数据库程序设计有所帮助。
0
投稿
猜你喜欢
- 简介最近在整理我们项目代码的时候,发现有很多活动的代码在结构和提供的功能上都非常相似。为了方便今后的开发,我花了一点时间编写了一个生成代码框
- 关于python中的二维数组,主要有list和numpy.array两种。好吧,其实还有matrices,但它必须是2维的,而numpy a
- 如果遇到下述错误,表示当启动mysqld时或重新加载授权表时,在用户表中发现具有非法密码的账户。发现用户'some_user'
- 引言使用python进行接口测试时常常需要接口用例测试数据、断言接口功能、验证接口响应状态等,如果大量的接口测试用例脚本都将接口测试用例数据
- Python使用Try Exception来处理异常机制 若Exception中有Try对应的异常处理,则Try - exception之后
- 类的参数定义将conda环境设置为ai,conda activate ai这个文件的由来:由于在yolov1的pytorch实现的损失函数中
- 1. 排序有什么用“排序”这个专业名词原本是来源于计算机程序操作中的,是一种很常见的算法设计,当然,对交互设计来说,探讨冒泡排序和堆排序之间
- created页面加载未渲染html之前执行。mounted渲染html后再执行。由于created在html模板生产之前所以无法对Dom进
- 所有数据库mysqlcheck --auto-repair -A -o -uroot -pyigeorg单一数据库mysqlcheck --
- 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多系列文章。今天一个很简单的功能,触发了一个
- pandas模块pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同
- 前言python中常用的写爬虫的库常有urllib2、requests,对于大多数比较简单的场景或者以学习为目的,可以用这两个库实现。这里有
- 错误的代码①d = {'a':1, 'b':0, 'c':1, 'd':0}
- 最近对list设计感兴趣,今天说的是list视图方式的设计。感觉有些细节非常有意思,拿出来跟大家讨论。首先我们来看下windows下文件夹管
- 本文实例讲述了python从任意长度的可迭代对象中分解元素操作。分享给大家供大家参考,具体如下:从某个可迭代对象中分解出N个元素,但是可迭代
- __add__(), 同一个类,两个对象相加的实现逻辑,重写 +class Myclass(object): &n
- PIL和PillowPIL(Python Image Library)是一个非常流行的Python图像处理库,但自从2011年以来就没有更新
- JS 控制文本框只能输入数字<input onkeyup="value=value.replace(/[^0-9]/g,&#
- 平行坐标图,一种数据可视化的方式。以多个垂直平行的坐标轴表示多个维度,以维度上的刻度表示在该属性上对应值,相连而得的一个折线表示一个样本,以
- FileSystemObject、Folder 和 File 对象的一些方法都与通过 TextStream 对象创建、读取或写入文件有关。虽