如何将树从某些子节点遍历到Oracle中的特定节点(而不是根节点)?
我们输入:特定节点A,列表子节点。
预期输出:从节点A到输入列表中A的所有子节点的子树。
我们已经写了一些查询,但想知道我们是否可以有更好的方法来做到这一点。
感谢您的帮助!
A
name count
ABC 10
DEF 10
GHI 20
B
name count
ABC 20
GHI 30
XYZ 10
RESULT
name count
ABC -10
DEF 10
GHI -10
XYZ -10
答案 0 :(得分:1)
使用:
SELECT distinct *
FROM table_name
START WITH code IN ('1112', '1114', '1115', '221')
CONNECT BY PRIOR code_ct = code and prior code <> '11'
order by 1;
由于INTERSECT运算符从最终结果集中删除了重复项,因此必须使用DISTINCT才能获得与具有intersect的查询相同的结果。