Я хочу, чтобы все узлы уровня, которые я передаю, начинаются с предложения

Предположим, что следующая иерархия:

Я прохожу 5, поэтому я исключаю 5,4,2,1, так как я могу это сделать. Заранее спасибо.

1 ответ

Решение

Если вы хотите, чтобы все предки и братья и сестры 5 затем используйте родительский идентификатор в start with пункт:

/* sample data
with t(id, pid) as (
    select 1, null from dual union all
    select 2,    1 from dual union all
    select 3,    1 from dual union all
    select 4,    2 from dual union all
    select 5,    2 from dual union all
    select 6,    3 from dual ) */ 
select distinct id
  from t connect by prior pid = id
  start with pid = (select pid from t where id = 5)
Другие вопросы по тегам