我需要找到层次结构的顶层..(最高级别)
基本上我有这张表:
CREATE TABLE HIERARCHY_TREE
(
ID NUMBER(38),
FEEDER VARCHAR2(20 BYTE),
NAME VARCHAR2(68 BYTE),
PARENT NUMBER(38)
)
情节是我可能有一个 FEEDER (父母),其中N NAME (孩子)......我也可能拥有<兄弟“< strong> NAME ,但所有人都使用相同的 FEEDER 。因此,对于给定的 FEEDER ,我有这种层次结构。
LEVEL ID PARENT FEEDER NAME ELEMENT_ABOVE
1 6589 ITI02 ITI02
2 12242 6589 ITI02 AE23 ITI02
3 12330 12242 ITI02 KD01 AE23
4 12355 12330 ITI02 LOD44 KD01
4 1583285 12330 ITI02 US821 KD01
5 12796 1583285 ITI02 MBADE1233 US821
6 12792 12796 ITI02 LIIIK911 MBADE1233
6 12792 12796 ITI02 MMQQWWE1234 MBADE1233
5 12879 1583285 ITI02 PE33321 US821
5 13043 1583285 ITI02 TP120120 US821
6 1937994 13043 ITI02 KDKKD102102 MBADE1233
7 10424 1937994 ITI02 QIEI124 KDKKD102102
7 13047 1937994 ITI02 KDII123123 KDKKD102102
我使用以下查询执行此操作:
SELECT LEVEL lev,
id,
PARENT,
FEEDER,
t.name,
PRIOR t.NAME AS element_above,
FROM HIERARCHY_TREE t
WHERE FEEDER = :feeder
CONNECT BY PRIOR t.ID = t.PARENT
START WITH t.PARENT IS NULL AND t.FEEDER = :feeder
这适用于现有馈线的99%。但是对于少数人来说,我有一个无限循环,我无法确定问题...所以我有一些问题:
提前致谢