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

Откуда:
Сообщений: 17
имеем два маршрута движения,
1) из точки 2 в точку 3 : 2->1, 1->5, 5->3
2) из точки 6 в точку 5 : 6->10, 10->5
with t as
(
select 1 dst, 2 src from dual union all
select 5, 1 from dual union all
select 3, 5 from dual union all
select 10, 6 from dual union all
select 5, 10 from dual
)
select * from t
dst src
1 2
5 1
3 5
10 6
5 10


нужно дополнить вариантами движений:
1) 2->5, 2->3, 1->3
2) 6->5
т.е. должно получиться:
with t as
(
select 1 dst, 2 src from dual union all
select 5, 1 from dual union all
select 3, 5 from dual union all
select 5, 2 from dual union all
select 3, 2 from dual union all
select 3, 1 from dual union all
select 10, 6 from dual union all
select 5, 10 from dual union all
select 5, 6 from dual
)
select * from t
dst src
1 2
5 1
3 5
5 2
3 2
3 1
10 6
5 10
5 6
9 дек 11, 11:27    [11734969]     Ответить | Цитировать Сообщить модератору
 Re: помогите с иерархическим запросом  [new]
Elic
Member

Откуда:
Сообщений: 29979
select connect_by_root src as src, dst 
  from t 
  connect by src = prior dst
  order by 1, 2
;
+
          SRC           DST
------------- -------------
            1             3
            1             5
            2             1
            2             3
            2             5
            5             3
            6             3
            6             5
            6            10
           10             3
           10             5

11 rows selected.
9 дек 11, 12:24    [11735586]     Ответить | Цитировать Сообщить модератору
 Re: помогите с иерархическим запросом  [new]
help_me_445
Member

Откуда:
Сообщений: 17
Elic,

спасибо! так и должно быть!
(с учетом того, что я не правильно сформулировал задачу, получиться должно именно то, что получается вашим запросом)
9 дек 11, 12:55    [11735839]     Ответить | Цитировать Сообщить модератору
 Re: помогите с иерархическим запросом  [new]
Elic
Member

Откуда:
Сообщений: 29979
help_me_445
так и должно быть!
Приходи после обнаружения циклов.
9 дек 11, 13:01    [11735891]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить