Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Верхний родитель конкретного листа  [new]
rost.slv
Member

Откуда:
Сообщений: 28
Добрый день, подскажите пожалуйста, как найти самого верхнего родителя конкретного листа

Я могу найти всех верхних, но не могу понять где дописать условие для конкретизации

select * from table aaa
where level = 1
start with aaa.p_id is null
connect by prior aaa.id = p_id


Буду благодарен за помощь
24 мар 20, 12:34    [22105018]     Ответить | Цитировать Сообщить модератору
 Re: Верхний родитель конкретного листа  [new]
elunin
Member

Откуда:
Сообщений: 500
rost.slv,
 select a.* 
   from aaa a
  start with a.id = :leaf_id
connect by prior a.p_id = a.id
24 мар 20, 12:48    [22105026]     Ответить | Цитировать Сообщить модератору
 Re: Верхний родитель конкретного листа  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2260
rost.slv,

1) если дерево не огромное SYS_CONNECT_BY_PATH
2) искать от листа
  1  select * from emp e
  2  start with ename='MILLER'
  3* connect by prior mgr=empno
SQL> /

     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
      7934 MILLER     CLERK           7782 23.01.1982       1300                    10
      7782 CLARK      MANAGER         7839 09.06.1981       2450                    10
      7839 KING       PRESIDENT            17.11.1981       5000                    10


.....
stax
24 мар 20, 12:50    [22105027]     Ответить | Цитировать Сообщить модератору
 Re: Верхний родитель конкретного листа  [new]
rost.slv
Member

Откуда:
Сообщений: 28
Спасибо всем большое!
24 мар 20, 12:53    [22105030]     Ответить | Цитировать Сообщить модератору
 Re: Верхний родитель конкретного листа  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2260
rost.slv,

вдогонку CONNECT_BY_ROOT ename

....
stax
24 мар 20, 12:54    [22105032]     Ответить | Цитировать Сообщить модератору
 Re: Верхний родитель конкретного листа  [new]
-2-
Member

Откуда:
Сообщений: 15279
Stax
вдогонку CONNECT_BY_ROOT ...
Тогда уж connect_by_isleaf
24 мар 20, 13:19    [22105047]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить