我有一个关于 oracle 分层查询的问题。
假设我有相互关联的单元的关系表,其中 unit1 是父单元,而 unit2 是子单元。
ID UNIT1 UNIT2 其他列
------大量数据--------
假设我正在查看一个单元,现在我想要关于它与其他单元的关系的完整图表/树。
很容易得到相互连接的父母和孩子:
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 步时,它不会搜索该单元的子单元,而只会继续搜索父单元。所以基本上我如果父母单位有另一个孩子(不是我们正在寻找的那个)我将无法到达它,因为语法一直只寻找父母。后来它只寻找孩子,而不是这两者的结合。
有没有办法为每个孩子或父母单位,我可以搜索父母和孩子?