当前位置:网站首页>SQL Server 递归查询上下级
SQL Server 递归查询上下级
2022-04-23 10:24:00 【---清心寡欲---】
表结构如下:
CREATE TABLE [dbo].[sys_org](
[id] [nvarchar](50) NOT NULL,
[name] [nvarchar](100) NULL,
[parentid] [nvarchar](50) NULL,
CONSTRAINT [PK_sys_org] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
表数据:
1.查询所有上级
-- 查询所有上级
;WITH Tree
AS(
SELECT * FROM sys_org WHERE id='D02'
UNION ALL
SELECT tab.* FROM sys_org tab INNER JOIN Tree ON tab.id=Tree.parentid
)
SELECT * FROM Tree
2.查询所有下级
-- 查询所有下级
;WITH Tree
AS(
SELECT * FROM sys_org WHERE parentid='0'
UNION ALL
SELECT tab.* FROM sys_org tab inner JOIN Tree ON tab.parentid =Tree.id
)
SELECT * FROM Tree
3.查询当前id的层级
-- 查询当前id的层级
;WITH Tree
AS(
SELECT * FROM sys_org WHERE id='B01'
UNION ALL
SELECT tab.* FROM sys_org tab INNER JOIN Tree ON tab.id=Tree.parentid
)
SELECT COUNT(*) as level FROM Tree
4.拼接所有上级加当前的id
拼接id,所有的上级id+当前id 例如 id=B01,拼接后的id为:01A01B01
由于查询出来的数据是倒序,id又没有排序规律,因此加了一个空字符串字段“px”
--拼接id,所有的上级id+当前id 例如 id=B01,拼接后的id为:01A01B01
--由于查询出来的数据是倒序,id又没有排序规律,因此加了一个空字符串字段“px”
;WITH Tree
AS(
SELECT *,'' px FROM sys_org WHERE id='B01'
UNION ALL
SELECT tab.* ,'' px FROM sys_org tab INNER JOIN Tree ON tab.id=Tree.parentid
)
select (select ''+ id from (SELECT *, ROW_NUMBER() OVER(order by px) as row FROM Tree )bbb order by row desc FOR XML PATH (''))as orgid
版权声明
本文为[---清心寡欲---]所创,转载请带上原文链接,感谢
https://blog.csdn.net/ying456baby/article/details/121627509
边栏推荐
- 2022年流动式起重机司机考试题库模拟考试平台操作
- SSH利用私钥无密钥连接服务器踩坑实录
- Read LSTM (long short term memory)
- Jerry sometimes finds that the memory has been tampered with, but there is no exception. How should he find it? [chapter]
- lnmp的配置
- Realizing data value through streaming data integration (4) - streaming data pipeline
- 通过流式数据集成实现数据价值(3)- 实时持续数据收集
- Common DBA SQL statements (4) - Top SQL
- 第一章 Oracle Database In-Memory 相关概念(续)(IM-1.2)
- Reading integrity monitoring techniques for vision navigation systems - 3 background
猜你喜欢
【无标题】
Exercise questions and simulation test of refrigeration and air conditioning equipment operation test in 2022
Reading integrity monitoring techniques for vision navigation systems - 3 background
[untitled]
Sim Api User Guide(4)
Sim Api User Guide(6)
【省选联考 2022 D2T1】卡牌(状态压缩 DP,FWT卷积)
【无标题】
ARM调试(1):两种在keil中实现printf重定向到串口的方法
Initial exploration of NVIDIA's latest 3D reconstruction technology instant NGP
随机推荐
2022年流动式起重机司机考试题库模拟考试平台操作
Sim Api User Guide(8)
Windows installs redis and sets the redis service to start automatically
454. Sum of four numbers (hash table)
IDEA——》每次启动都会Indexing或 scanning files to index
1、两数之和(哈希表)
Juc并发编程09——Condition实现源码分析
What are Jerry's usual program exceptions? [chapter]
Shell script interaction free
使用IDEA开发Spark程序
206. Reverse linked list (linked list)
CSP certification 202203-2 travel plan (multiple solutions)
LeetCode-608. 树节点
Common DBA SQL statements (4) - Top SQL
Depth selector
DBA常用SQL语句(4)- Top SQL
ARM调试(1):两种在keil中实现printf重定向到串口的方法
349、两个数组的交集
Sim Api User Guide(4)
域名和IP地址的联系