【问题标题】:Sql recursive query to read hierarchical datasql递归查询读取分层数据
【发布时间】:2014-10-27 00:12:28
【问题描述】:

我正在尝试提出一个 SQL 查询来读取递归数据,如下所示:

ParentId    ChildId
    1          2
    2          3
    3          4
    4          5
    4          6
    8          9

如果提供了ParentId,则查询应以递归方式返回所有ChildId

例如:parentId =1result = {2, 3, 4, 5, 6}

我发现connect_by_rootconnect by prior 可能是我应该使用的。但是我无法正确处理。

数据库:Oracle 和 Db2

【问题讨论】:

标签: sql oracle recursion db2


【解决方案1】:

这应该可以解决问题:

SELECT ChildId, ParentId, LEVEL
   FROM myTable
   CONNECT BY PRIOR ChildId = ParentId;

【讨论】:

  • “没有”到底是什么?更多细节会有所帮助
  • 它需要“开始于”
【解决方案2】:

做到了:

   SELECT childid
   FROM btab
   START WITH parentId = 1
   CONNECT BY PRIOR  childId = parentId;

感谢#Bulat 和#AngocA 的指点

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 2019-08-18
    • 2016-09-18
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    相关资源
    最近更新 更多