gpt4 book ai didi

sql - oracle双向分层查询

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:47 27 4
gpt4 key购买 nike

我有一个关于 oracle 分层查询的问题。

假设我有相互关联的单元关系表,其中 unit1 是父单元,unit2 是子单元。

ID UNIT1 UNIT2 其他列

------大量数据--------

假设我正在查看一个单元,现在我想要关于它与其他单元的关系的完整图表/树。

很容易得到彼此相连的 parent 和 child :

 INSERT INTO search_table
SELECT id
FROM mytable
START WITH unit_id1 = 12 (or any random unit id)
CONNECT BY nocycle PRIOR unit_id2 = unit_id1
GROUP BY id;

这是为了向上移动,类似的是为了向下移动。现在发生的情况是,例如当向上移动 1 步时,它不会搜索该单元的子单元,而只会继续搜索父单元。所以基本上我如果父单位有另一个 child (不是我们正在寻找的那个)我将无法到达它,因为语法一直只寻找 parent 。后来它只寻找 child ,而不是这两个组合。

有没有一种方法可以针对每个子单元或父单元同时搜索父单元和子单元?

最佳答案

我不确定您是否可以通过单个查询来完成。
但是您可以通过两个步骤轻松完成:

  1. 找到本单位的老祖宗A(无父无母)
  2. 找到A的所有 child

关于sql - oracle双向分层查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11760952/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com