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