表名:collage_orgGroups
字段:主键:ID,父节点ID:parentID
函数:传入个ID,查找此ID下所有字节点ID
Create Function F_GetChildren(@Pid int)
Returns @Tree Table (ID Int)
As
Begin
Insert @Tree Select ID From collage_orgGroups Where parentID = @Pid
While @@Rowcount > 0
Insert @Tree Select A.ID From collage_orgGroups A Inner Join @Tree B On A.ParentID = B.ID And A.ID Not In (Select ID From @Tree)
Return
End
select * from collage_orgGroups where ID IN(SELECT ID FROM dbo.F_GetChildren(2))
另外一种方式:
with myT as(
select ID ,parentID from collage_orgGroups
),
myT2 as(
select * from myT where parentID in(2,3)
union all
select myT.* from myT2 inner join myT
on myT2.ID=myT.parentID
)
select ID,parentID from myT2
这个直接执行就行了。。就是不知道用JDBC可能得到结果集。
分享到:
相关推荐
SQL Server 中递归查找子节点和父节点 在关系数据库管理系统中,特别是在 SQL Server 中,递归查找子节点和父节点是一种常见的操作。这种操作可以应用于树形结构的数据存储和查询中,例如组织结构、目录结构、分类...
本文将深入探讨如何利用递归查询来获取子节点和父节点的信息。 一、查询当前部门下的所有子部门 在SQL Server中,可以使用Common Table Expression(CTE)结合递归来实现这个功能。`deptTab`是存储部门信息的表,...
-- 递归部分:找出所有子节点及其子节点 select t.deptid, t.parentid from jaf_dept_structure as t inner join cte as c on t.parentid = c.deptid ) ``` ##### 解析: - **基础情况**:首先,我们定义了基础...
- **网状模型**:数据以网络结构存储,允许任何节点有多个父节点和子节点。 - **关系模型**:这是最常见的模型,基于二维表,每个表代表一种实体,行表示记录,列表示属性。 3. **Client/Server(C/S)体系结构**...
根据当前节点获取所有父节点信息(18代)SQL根据当前节点递归遍历获取所有父节点信息,短短的SQL可以解决复杂的问题
8.2.3 查找子节点 244 8.2.4 查找父节点 245 8.2.5 编码校验 246 8.2.6 节点复制 249 8.2.7 节点删除 251 8.2.8 逐级汇总 253 8.3 树形数据的扩展形式 256 8.3.1 产品配件清单 256 8.3.2 ...
在数据库管理和应用开发中,经常需要查询某一特定节点下的所有子节点信息。例如,在组织结构、产品分类等层级数据管理中,我们需要获取某个父级分类的所有子分类,包括直接子分类以及其所有的后代分类。本篇文章将...
│ 8.2.2 树形数据深度排序处理示例(模拟单编号法).sql │ │ 8.2.2 树形数据深度排序处理示例(递归法).sql │ │ 8.2.3 查找指定节点的所有子节点的示例函数.sql │ │ 8.2.4 查找指定节点的所有父...
这个查询首先将ManagerID为-1的用户(根节点)放入CTE,然后递归地查找每个用户的上级,直到所有用户及其直接上级都被找出。 在实际应用中,必须谨慎处理递归查询,因为无限递归可能导致性能问题和错误。如果层次...
总之,SQL递归函数是处理层次结构数据的强大工具,通过正向递归查找子节点、反向递归查找父节点以及构建面包屑导航路径,可以灵活地处理各种树形结构的问题。掌握这些技术能够帮助我们在数据库设计和查询中更加高效...
3. **递归查询**:使用`WHILE`循环,递归地查找每一层级的所有子节点,直到没有更多子节点为止。每次循环时,层级`@level`加一,然后从`BA_COMPANY`表中选取对应父节点的子节点,并将它们的信息(包括节点ID、当前...
例如,`C.exist('(.[@Name="Email"])[1]') = 1` 检查当前节点是否存在带有特定属性的子节点。 这些方法可以根据需要的灵活性和效率选择合适的一种。 接下来,我们看如何读取XML变量中的属性。在示例7中,我们使用 ...
2. **执行树**:执行计划以树状结构呈现,根节点通常是表或视图,子节点则表示对数据的操作。 3. **估计成本**:每个操作符都附带有一个成本估计值,用于表示该操作的相对代价。 4. **I/O统计**:显示读取数据所需的...
在MS SQL Server中,需要编写特定的SQL语句来模拟递归查询的过程,即通过循环在表中逐层查找子节点,直到遍历完所有的节点。 文章的引言部分强调了实现树形结构表遍历查询操作的重要意义,以及在MS SQL Server中...
这次,我们将条件反转,使CTE查找所有Id等于已知父节点Id的子节点。 ```sql WITH TREE AS( SELECT * FROM Areas WHERE id = 7 UNION ALL SELECT Areas.* FROM Areas, TREE WHERE TREE.Id = Areas.PId) SELECT...
树型结构通常以父节点和子节点的形式呈现,其中每个节点可以有零个或多个子节点。在数据库设计中,我们可以使用自连接来模拟树结构,通过一个字段(如`parent_id`)来表示一个记录(节点)的父记录(节点)。例如,...
每个节点包含一个键值序列,这些键值将子节点分隔开,形成了一个有序的键值范围。查询时,系统通过比较键值找到对应的子节点,直到找到目标数据或确定数据不存在。 针对大数据场景,SQL Server提供了多种类型的索引...
8.2.3 查找子节点 244 8.2.4 查找父节点 245 8.2.5 编码校验 246 8.2.6 节点复制 249 8.2.7 节点删除 251 8.2.8 逐级汇总 253 8.3 树形数据的扩展形式 256 8.3.1 产品配件清单 256 8.3.2 公交车...
│ │ 8.2.3 查找指定节点的所有子节点的示例函数.sql │ │ 8.2.4 查找指定节点的所有父节点的示例函数.sql │ │ 8.2.5 校验插入指定结点是否导致编码循环的示例函数.sql │ │ 8.2.5 校验表中数据是否有循环编码...
Id ParentId 1 0 2 1 3 2 …… 针对该表结构解释如下: 1的父节点为0, 2的父节点为1, 3的父节点为2 …… 以此类推,要求给定一个父节点的值,比如1, 用SQL语句查询的到该父结点下的所有子节点 ...