Иерархический запрос соединяется с помощью предложения start with
Данные, с которыми я работаю, упорядочены, как в следующем примере:
То, что я хочу знать, это:
Что я получаю из своего запроса, это (фактический запрос с фактическими данными размещен в конце этого сообщения):
Это код, который у меня есть сейчас, и который, я чувствую, близок к тому, чтобы дать мне то, что я хочу.
select * from (выберите отличный идентификатор, idnew, CONNECT_BY_ROOT idlast, CONNECT_BY_ISLEAF "IsLeaf", CONNECT_BY_ISCYCLE iscycle, уровень seq_order из mytable tbl1 соединяется с помощью NOCYCLE idnew = предыдущий идентификатор начинается с tll = tll tl.itemloadidnew)) abc заказ по abc.idlast, seq_order desc
Вывод, который я получаю из этого кода:
Как мне убедиться, что первое значение моих последовательностей интерпретируется как корни (а не листья как сегодня)? Насколько я понимаю, если они интерпретируются как корни, я могу напечатать столбец с id_first, а не с id_last, который у меня есть сегодня.
Помощь очень ценится!:)
1 ответ
Вы должны инвертировать connect by
пункт:
select t.*, connect_by_root(id) id_first
from mytable t
start with not exists (select 1 from mytable x where x.id_new = t.id)
connect by id = prior id_new