У меня есть 2 таблицы в оракуле DB: Items and Relationship.Oracle, выберите отношение
пункты:
ID
---
1
2
3
4
5
6
7
отношение:
ID parent child
--------------------
1 1 2
2 1 3
3 1 4
4 2 5
5 2 6
6 3 7
В таблице отношений, я хранение иерархического строения «элементы» (не спрашивайте, почему она хранится в разных таблицах) ,
Вопрос:
Когда я выполнить этот запрос:
SELECT PARENT_ID, CHILD_ID, CONNECT_BY_ISLEAF, MAX(LEVEL) OVER() + 1 - LEVEL as rev_level
FROM relationship
CONNECT BY PRIOR PARENT_ID = CHILD_ID
START WITH CHILD_ID = 7;
Я не вижу корень родителя, потому что он не существует в этой таблице, как ребенок.
Вопрос заключается в том, как добавить родительский корень (ID = 1) к результату запроса или присоединиться к нему с таблицей «items» и сохранить столбцы результатов (уровень и isleaf).
Спасибо, но у меня нет этой строки ЗНАЧЕНИЯ (10, нуль, 1) – user3164429
I изменил условие соединения на (i.id = r.CHILD_ID или i.id = r.PARENT_ID), но теперь мне нужно сгруппировать или добавить DISTINCT – user3164429