Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 иерархический запрос снизу вверх  [new]
Блобик
Guest
Как составить иерархический запрос снизу вверх?
Т.е. как получить все родительские записи от дочерней?
25 фев 09, 13:43    [6858565]     Ответить | Цитировать Сообщить модератору
 Re: иерархический запрос снизу вверх  [new]
Zloxa
Member

Откуда: СССР ☭
Сообщений: 1033
Так же как снизу вверх, только перенеся prior через равно
25 фев 09, 13:48    [6858606]     Ответить | Цитировать Сообщить модератору
 Re: иерархический запрос снизу вверх  [new]
__vvp_
Member

Откуда: Санкт-Петербург
Сообщений: 1158
Блобик,

Поищи обратное дерево

connect by prior parent_id = id
25 фев 09, 13:49    [6858613]     Ответить | Цитировать Сообщить модератору
 Re: иерархический запрос снизу вверх  [new]
Andrey.L
Member

Откуда: Харьков
Сообщений: 1546
Блобик,

--в одну сторону
connect by parent_id = prior id
--в другую 
connect by id = prior parent_id
25 фев 09, 13:50    [6858625]     Ответить | Цитировать Сообщить модератору
 Re: иерархический запрос снизу вверх  [new]
(:-:)
Guest
Блобик,

with t
as 
(select 1 as par, 2 as chld from dual
union all
select 3 as par, 2 as chld from dual
union all
select 2 as par, 5 as chld from dual
union all
select 1 as par, 5 as chld from dual
union all
select 5 as par, 6 as chld from dual
union all
select 4 as par, 7 as chld from dual
)
select par, sys_connect_by_path(par, '/'), level from t 
connect by prior par = chld
start with chld = 6

par path level
5 /5 1
2 /5/2 2
1 /5/2/1 3
3 /5/2/3 3
1 /5/1 2
25 фев 09, 13:58    [6858700]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить