sql 递归查询所有的下级
--> 生成测试数据表: [tb]
IF OBJECT_ID(
'[Users]'
)
IS
NOT
NULL
DROP
TABLE
[Users]
GO
CREATE
TABLE
[Users] ([userid] [
int
],[username] [nvarchar](10),[parentUserId] [
int
],[parentUserName] [nvarchar](10))
INSERT
INTO
[Users]
SELECT
'1'
,
'admin'
,
'0'
,
NULL
UNION
ALL
SELECT
'2'
,
'aaaaa'
,
'1'
,
'admin'
UNION
ALL
SELECT
'3'
,
'bbbbb'
,
'2'
,
'aaaaa'
UNION
ALL
SELECT
'4'
,
'ddddd'
,
'3'
,
'bbbbb'
-->SQL查询如下:
;
with
t
as
(
select
*,
level
=1
from
Users
where
[parentUserId]=0
union
all
select
a.*,
level
+1
from
Users a
join
t b
on
a.parentUserId=b.userid
)
select
*
from
t
where
[parentUserId]<>0
/*
userid username parentUserId parentUserName level
----------- ---------- ------------ -------------- -----------
2 aaaaa 1 admin 2
3 bbbbb 2 aaaaa 3
4 ddddd 3 bbbbb 4
(3 行受影响)
*/
sql 递归查询所有的下级相关推荐
- SQL递归查询(with as)
SQL递归查询(with cte as) with cte as ( select Id,Pid,DeptName,0 as lvl from Department where Id ...
- SQL递归查询树型分类数据
目录 前言 1.准备分类数据 2.递归原理 3.实现 4.结合mybatis查询 总结 前言 相信大家在处理业务的时候经常会遇到分类数据,当面对这种情况时该如何处理呢?在这里我使用了两种方式解决:一种 ...
- mysql 在不同的数据库间查询语句_有关数据库SQL递归查询在不同数据库中的实现方法...
本文给大家介绍有关数据库SQL递归查询在不同数据库中的实现方法,具体内容请看下文. 比如表结构数据如下: Table:Tree ID Name ParentId 1 一级 0 2 二级 1 3 ...
- sql递归查询上级_递归的实际业务场景之MySQL 递归查询
喜欢就点个赞呗! 源码<--请点击此处查看 引入 当我看到一些评论时,例如下面的样子.我挺好奇这个功能是怎么样做出来的.进过查阅资料,发现这其实是 MySQL 的递归操作.下面就让我操作一下怎么 ...
- SQL递归查询上级部门树
SQL递归查询上级部门树,sql2008以上支持with语法. 在做预算归口部门.使用部门的时候,需要递归查询出部门的逐级上级sParent. SQL脚本: with tmp as (select * ...
- oracle 递归查询,Oracle SQL递归查询教程
在oracle 中可以通过使用start with - connect by prior - 实现递归查询.如果你对递归查询很 模糊了话,或许下面的示例将会帮助你更好的理解oracle SQL 递归查 ...
- sql oracle 递归查询语句,oracle递归函数 oracle中SQL递归查询
关于oracle递归调用的自定义函数如何结束 比如存储过程a中有b,b中含a.用return结束判断,执行还是锁表,怎么解决 关于oracle递归调用的自定义函数如何结束 可以调用. C语言最基本的模 ...
- SQL 递归查询所有父子节点
原 SQL 递归查询所有父子节点 2016年05月16日 22:57:16 名贤集 阅读数 21628 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net ...
- Oracle中SQL递归查询
SQL的递归查询应用场景: 在一个系统中往往需要保存机构,地区,岗位,商品品类,菜单等等树状结构的数据,使用递归查询能够快速的获取这些树状结构数据的关联关系.树结构的数据存放在表中,数据之间的层次关系 ...
最新文章
- wpf计算字符大小占像素_[读书笔记]《计算机科学速成课》——23 屏幕与2D图像显示...
- 信号转换| 如何使用模拟电路完成对方波信号倍频PWM转换?
- listview 的 selection mode 训练小例子
- linux 磁盘管理3板斧,Linux 磁盘管理的命令
- 通过调用门进行控制转移 ——《x86汇编语言:从实模式到保护模式》读书笔记29
- Shell 学习笔记之运算符
- [vue] 说说你对keep-alive的理解是什么?
- python与机器视觉(X)打包为exe可执行文件
- FreeMarker中文API手冊(完整)
- Leetcode每日一题:402.remove-k-digits(移掉k位数字)
- MySQL事务操作原理与用法详解
- 防抖与节流方案_如何理解js的防抖与节流
- linux 配置ssh免密码登录脚本
- 时间linux防火墙策略,Linux防火墙简介 – iptables配置策略(示例代码)
- 如何设计一份令人舒服的PPT
- Python基础知识从hello world 开始(第三天)
- 镁光硬盘测试软件,镁光固态硬盘怎么样
- VT是什么?怎么打开教程
- 动态规划系列(4)——不相邻数最大和
- VUE酒店日期选择,时间段选择插件vue-mobile-calendar使用
热门文章
- Qt Creator查找和更换
- C++实现complex number复数的算法(附完整源码)
- C语言指针、数组与sizeof运算符
- QT的QSharedDataPointer类的使用
- 经典C语言程序100例之八八
- 如何在私服上传jar包
- Tomcat中JVM内存溢出及合理配置(转:http://blog.csdn.net/ye1992/article/details/9344807)
- HBase建表高级属性,hbase应用案例看行键设计,HBase和mapreduce结合,从Hbase中读取数据、分析,写入hdfs,从hdfs中读取数据写入Hbase,协处理器和二级索引
- python2和python3的不同点_Django python2和python3的区别
- android context.java_Android / Java类范围和Context