![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос на получение всех конечных узлов дерева
12 © (2010-06-25 15:13:00)столбцы Id и Id_Up, таблица T
Oracle, но это наверное не важно
select * from T where Id_Up = :ID
конкретно подчиненые к :ID
select * from T where Id_Up = :ID
union
select * from T where Id_Up in ( select Id from T where Id_Up = :ID)
подчиненные :ID и тем, кто сам подчинен :Id
Не подскажете, как написать, чтоб всегда давал всех подчиненых конкретной ветки?
без функций.
12 (2010-06-25 16:10:00) [1]блин, мощная штука :)
быстрая, в смысле..
12 (2010-06-25 15:30:00) [2]спасибо.
Игорь Шевченко (2010-06-25 15:16:00) [3]
> Oracle, но это наверное не важно
RTFM CONNECT BY, START WITH
12 (2010-06-25 15:15:00) [4]т.е.
select * from T where Id_Up = :ID
union
select * from T where Id_Up in ( select Id from T where Id_Up = :ID)
union
select * from T where Id_Up in (select Id from T where Id_Up in ( select Id from T where Id_Up = :ID))
union
...
select * from T where Id_Up in (select Id from T ........ where Id_Up in ( select Id from T where Id_Up = :ID))