Конференция "Базы" » Запрос на получение всех конечных узлов дерева
 
  • 12 © (25.06.10 15:13) [0]
    столбцы 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 © (25.06.10 15:15) [1]
    т.е.

    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))
  • Игорь Шевченко © (25.06.10 15:16) [2]

    > Oracle, но это наверное не важно


    RTFM CONNECT BY, START WITH
  • 12 © (25.06.10 15:30) [3]
    спасибо.
  • 12 © (25.06.10 16:10) [4]
    блин, мощная штука :)
    быстрая, в смысле..
 
Конференция "Базы" » Запрос на получение всех конечных узлов дерева
Есть новые Нет новых   [134433   +21][b:0][p:0]