НАЧНИТЕ С.... ПОДКЛЮЧИТЕ ПО ПРИОРУ

Кто-нибудь знает способ узнать глубину 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', ПОДКЛЮЧИТЬ К ПРИОРНОМУ 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

2 ответа

Вы можете использовать псевдостолбец LEVEL:

SELECT ..., LEVEL, ...
FROM ...

Извините, я был глуп... вот ответ для тех, у кого в будущем выпадет мозг;

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
Другие вопросы по тегам