递归查询所有父子节点数据

细嗅蔷薇 细嗅蔷薇 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

CREATE TABLE D_DeviceList
(
ID INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
FID int,
FacilityCode NVARCHAR(100) NOT NULL,
FacilityName NVARCHAR(100) NOT NULL,
)

INSERT INTO dbo.D_DeviceList
( FID ,FacilityCode ,FacilityName)VALUES ( 0 ,'设备001','设备001')
INSERT INTO dbo.D_DeviceList
( FID ,FacilityCode ,FacilityName)VALUES ( 1 ,'设备002','设备002')
INSERT INTO dbo.D_DeviceList
( FID ,FacilityCode ,FacilityName)VALUES ( 1 ,'设备003','设备003')
INSERT INTO dbo.D_DeviceList
( FID ,FacilityCode ,FacilityName)VALUES ( 0 ,'设备004','设备004')
INSERT INTO dbo.D_DeviceList
( FID ,FacilityCode ,FacilityName)VALUES ( 3 ,'设备004','设备004')
INSERT INTO dbo.D_DeviceList
( FID ,FacilityCode ,FacilityName)VALUES ( 2 ,'设备004','设备004')


//这样查询可以查询出指定的父级节点下,包含父节点所有子节点的数据。

with temp_users as
(
select ID,FID,FacilityCode,FacilityName,cast(1 as int) as [level] from D_DeviceList WHERE ID=1
union all
select A.ID,A.FID,A.FacilityCode,A.FacilityName,b.[level]+1 as [level] from D_DeviceList A,temp_users B where A.FID=B.ID
)
select * from temp_users


如果需要查询所有的父子节点数据,而不是只查询某一个父节点的数据,该怎么做?

...全文

相关推荐

通过父子节点的节点号来查出当前节点所有上级节点和下级节点(C++,MySql)

该项目使用C++与MySQL结合,通过父子节点编号查询指定节点的所有上级和下级节点。代码核心为递归遍历组织结构,构建层级映射关系,并将结果存储于向量中返回,适用于企业组织架构等树形数据的处理场景。

vampirehll

Oracle通过递归查询父子兄弟节点方法示例

在Oracle数据库中,递归查询是一种强大的工具,用于处理层级数据结构,如组织结构、文件系统或树形关系。在本篇文章中,我们将探讨如何利用递归查询来查找父子兄弟节点,这对于理解和处理这类关系非常关键。

weixin_38543460

多级数据-Mysql中的递归层次查询(父子查询).doc

递归层次查询(父子查询)在 MySQL 中的实现在 MySQL 中,实现递归层次查询(父子查询)是一种复杂的操作,特别是当我们需要查询某个节点下的所有节点或节点上的所有父节点时。

DB实践

SQL_WITH_AS实现父子递归查询

### SQL_WITH_AS实现父子递归查询#### 一、引言与背景在现实的软件开发项目中,处理具有层级关系的数据是一项常见的需求。

comcyd

C#父子关系树递归遍历方法(含源码).rar

对于父子关系树,前序遍历通常比较适合,因为它能保持层次顺序。"DBHelpSql"类可能是一个辅助类,用于帮助执行SQL查询和操作数据库。

依然如昨
评论 17
收藏 已收藏
分享
返回顶部
细嗅蔷薇
MS-SQL Server 34,876 成员 254,635 内容