0

有人知道如何了解 CONNECT BY 的深度吗?例如,如果我有;

PARENT_ID   PARENT_KEY  CHILD_ID    CHILD_KEY
1           BOB         2           CHRIS
1           BOB         3           TODD
2           CHRIS       4           JON
2           CHRIS       5           ALF
5           ALF         6           GERARD
5           ALF         7           MIKE
3           TODD        8           ANN
3           TODD        9           FRED

CHRIS 的深度是 3,TODD 的深度是 2,我如何以编程方式找出 CHRIS 和 TODD 的深度在哪里;

以 PARENT_KEY 开始 = 'BOB' 由 PRIOR CHILD_ID = PARENT_ID 连接

对不起,我是愚蠢的......这里是那些未来有脑残的人的答案;

SELECT
PARENT_KEY
, MAX(LEVEL) AS DEPTH
FROM TIMELINE_CONFIG
START WITH PARENT_KEY = 'BOB' CONNECT BY PRIOR CHILD_ID = PARENT_ID
GROUP BY PARENT_KEY
4

2 回答 2

4

您可以使用 LEVEL 伪列:

SELECT ..., LEVEL, ...
FROM ...
于 2014-02-14T16:02:25.113 回答
0

对不起,我是愚蠢的......这里是那些未来有脑残的人的答案;

SELECT
PARENT_KEY
, MAX(LEVEL) AS DEPTH
FROM TIMELINE_CONFIG
START WITH PARENT_KEY = 'BOB' CONNECT BY PRIOR CHILD_ID = PARENT_ID
GROUP BY PARENT_KEY
于 2014-02-14T16:07:59.723 回答