`
yhef
  • 浏览: 69268 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Sql Server父子关系迭代查询SQL

 
阅读更多
类似ORACLE中的start with connect by prior语法。


说明:T_SYS_ORG机构表,字段:ROW_ID/PAR_ROW_ID,PAR_ROW_ID表示父机构的ROW_ID


--自上往下
WITH NODES   
 AS ( 
 SELECT * FROM DBO.T_SYS_ORG par WHERE par.ROW_ID='28'
 UNION ALL   
 SELECT child.* FROM T_SYS_ORG AS child INNER JOIN 
  NODES  AS RC ON child.PAR_ORG_ID = RC.ROW_ID)  
  SELECT * FROM T_SYS_ORG WHERE row_id IN (SELECT row_id  FROM NODES N )  ;



--自下往上
 
 WITH NODES   
 AS ( 
 SELECT * FROM DBO.T_SYS_ORG child WHERE child.ROW_ID='32'
 UNION ALL   
 SELECT par.* FROM T_SYS_ORG AS par INNER JOIN 
  NODES  AS RC ON par.row_id = RC.PAR_ORG_ID)  
  SELECT * FROM T_SYS_ORG WHERE row_id IN (SELECT row_id  FROM NODES N )  ;
分享到:
评论

相关推荐

    key_functions_in_oracle_sql.rar_in

    例如,`SELECT level, column1 FROM table START WITH condition CONNECT BY PRIOR column1 = column2`可遍历具有父子关系的记录。 8. **游标(Cursor)**: 游标允许你在结果集中逐行处理数据,这对于迭代处理或...

    MySQL通过自定义函数实现递归查询父级ID或者子级ID

    当数据的层级关系无法预知或者可能无限深时,传统的JOIN操作可能无法满足需求,此时就需要自定义函数来实现递归查询。本文将详细介绍如何通过MySQL的自定义函数来查询父级ID和子级ID。 首先,我们需要创建一个示例...

    oracle SQL递归的使用详解

    这个查询会返回所有以'a'为起点的父子关系链。 3. **递归查询的应用** 递归查询在处理组织结构、层级数据、家族树等场景非常有用。例如,在`comm_org_subjection`表中,我们有`ORG_ID`(当前组织ID)、`FATHER_ORG...

    动态实现无限级树形菜单

    父ID用于建立父子关系,这样就能构建出树形结构。 2. **数据库设计**:在数据库中,可以使用自引用的方式存储菜单数据,即菜单表中有一个字段指向自身的ID,表示父菜单。 3. **查询数据**:使用SQL查询获取所有...

    JSP无限级分类目录树-sorttree.zip

    表设计时,需要有一个字段表示父分类ID,通过这个字段形成父子关系,实现无限级关联。 3. Java后台处理: - 使用Java Servlet或JSP的内置对象(如HttpSession、HttpServletRequest、HttpServletResponse)来接收...

    php mysql 树

    3. **连接查询(JOIN)**:在SQL中,可能需要用到连接查询来获取一个地区的所有子地区。 4. **递归查询或自连接**:通过递归函数或者自连接查询来获取整个地区树。 在前端,可能使用HTML和CSS来创建基础的树形结构...

    最全Hibernate 参考文档

    21. 示例:父子关系(Parent Child Relationships) 21.1. 关于collections 21.2. 双向的一对多关系(Bidirectional one-to-many) 21.3. 级联生命周期(Cascading lifecycle) 21.4. 级联与未保存值(Cascades and ...

    漂亮无限级分类源代码(三层实现).zip

    在无限级分类中,可能涉及到特殊的数据库表结构,如自引用的树形结构,或者使用额外的字段来表示父子关系。 - **业务逻辑层**:处理分类的增删改查以及无限级分类的遍历、查找等功能。这部分代码会定义如何构建、...

    Hibernate参考文档

    21. 示例:父子关系(Parent Child Relationships) 21.1. 关于collections需要注意的一点 21.2. 双向的一对多关系(Bidirectional one-to-many) 21.3. 级联生命周期(Cascading lifecycle) 21.4. 级联与未保存值...

    Hibernate3+中文参考文档

    21. 示例:父子关系(Parent Child Relationships) 21.1. 关于collections 21.2. 双向的一对多关系(Bidirectional one-to-many) 21.3. 级联生命周期(Cascading lifecycle) 21.4. 级联与未保存值(Cascades and ...

    hibernate 框架详解

    17. Native SQL查询 17.1. 创建一个基于SQL的Query 17.2. 别名和属性引用 17.3. 命名SQL查询 17.3.1. 使用return-property来明确地指定字段/别名 17.3.2. 使用存储过程来查询 17.3.2.1. 使用存储过程的规则...

    Hibernate 中文 html 帮助文档

    21. 示例:父子关系(Parent Child Relationships) 21.1. 关于collections需要注意的一点 21.2. 双向的一对多关系(Bidirectional one-to-many) 21.3. 级联生命周期(Cascading lifecycle) 21.4. 级联与未保存值...

    hibernate3.04中文文档.chm

    22. 示例:父子关系(Parent Child Relationships) 22.1. 关于collections需要注意的一点 22.2. 双向的一对多关系(Bidirectional one-to-many) 22.3. 级联生命周期(Cascading lifecycle) 22.4. 级联与未保存值...

    Hibernate教程

    22. 示例:父子关系(Parent Child Relationships) 22.1. 关于collections需要注意的一点 22.2. 双向的一对多关系(Bidirectional one-to-many) 22.3. 级联生命周期(Cascading lifecycle) 22.4. 级联与未保存值...

    hibernate 体系结构与配置 参考文档(html)

    16. Native SQL查询 16.1. 使用SQLQuery 16.2. 别名和属性引用 16.3. 命名SQL查询 16.3.1. 使用return-property来明确地指定字段/别名 16.3.2. 使用存储过程来查询 16.3.2.1. 使用存储过程的规则和限制 16.4....

    hibernate 教程

    示例:父子关系(Parent Child Relationships) 16.1. 关于collections 16.2. 双向的一对多关系(Bidirectional one-to-many) 16.3. 级联生命周期(Cascading lifecycle) 16.4. 级联更新(Using ...

    hibernate

    示例:父子关系(Parent Child Relationships) 16.1. 关于collections 16.2. 双向的一对多关系(Bidirectional one-to-many) 16.3. 级联生命周期(Cascading lifecycle) 16.4. 级联更新(Using ...

    java实现多层嵌套循环参数转换

    在Java编程中,多层嵌套循环是一种常见的数据处理方式,尤其在处理具有层次关系的数据时,例如构建或解析父子级结构。在这种场景下,我们可能需要遍历多个层级的数据,以便进行转换、操作或者存储到数据库中。下面将...

    基于递归实现的php树形菜单代码

    通过SQL查询,可以根据父分类ID来获取子分类,形成父子关系。 上述代码段展示了一个procCategory函数,该函数用于实现树形菜单的生成。函数接收两个参数,$sid表示当前的操作站点ID,$pid是当前分类的父ID。函数...

Global site tag (gtag.js) - Google Analytics