Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Person2713
Member

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

Я уже понял, что так лучше не делать, но тем не менее сделать надо.
16 фев 17, 22:15    [20219570]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Cavia porcellus
Member

Откуда:
Сообщений: 39
Интересно было бы увидеть примеры, когда рекурсивный запрос полезнее иерархического
17 фев 17, 08:33    [20219971]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27035
Cavia porcellus
Интересно было бы увидеть примеры, когда рекурсивный запрос полезнее иерархического
Иерархичное сложение, перемножение …
17 фев 17, 08:37    [20219983]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 4702
Cavia porcellus
Интересно было бы увидеть примеры, когда рекурсивный запрос полезнее иерархического
Рекурсия может быть в глубину/ширину, иерархия только в глубину.
В иерархии невозможно выполнять итеративные/накопительные действия, то есть даже задача "sys_connect_by_path наоборот" требует заметных ухищрений.
17 фев 17, 09:06    [20220035]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Person2713
Member

Откуда:
Сообщений: 32
Так есть у кого-нибудь идею как можно решить данную задачу с помощью иерархического запроса?
17 фев 17, 15:46    [20221857]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27035
Person2713
Так есть у кого-нибудь идею как можно решить данную задачу с помощью иерархического запроса?
Зачёт нужно заслужить. Тем более, что тебе практически разжевали.
17 фев 17, 15:58    [20221921]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Person2713
Member

Откуда:
Сообщений: 32
Elic, можно по подробнее, я не очень понял о чём вы.
17 фев 17, 18:14    [20222484]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27035
Person2713
можно по подробнее, я не очень понял о чём вы.
20216226
18 фев 17, 07:58    [20223672]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Person2713
Member

Откуда:
Сообщений: 32
Elic, не понимаю как аналитическая функция может помочь в данной задаче
19 фев 17, 20:27    [20226558]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27035
Person2713
не понимаю
Тут я ничем не могу помочь.
19 фев 17, 20:37    [20226587]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 8519
Person2713
Elic, не понимаю как аналитическая функция может помочь в данной задаче


Ну уж если так надо с иерархией (хотя она тут как зайцу...). Медитируй:

with t as (
           select  customer_id,
                   order_date,
                   row_number() over(partition by customer_id order by order_date) rn
             from  orders
          )
select  customer_id,
        ltrim(sys_connect_by_path(order_date,', '),', ') as order_dates
  from  t
  where connect_by_isleaf = 1
  start with rn = 1
  connect by customer_id = prior customer_id
         and rn = prior rn + 1
/


SY.
19 фев 17, 21:13    [20226679]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Person2713
Member

Откуда:
Сообщений: 32
SY, благодарю за решение но от этого не легче, пойду препода доставать пусть объясняет)
20 фев 17, 19:27    [20230484]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение рекурсивного запроса с помощью не рекурсивных функций  [new]
Person2713
Member

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

Еще раз спасибо, разобрался в вашем решение, теперь хоть появилось представление что и как работает)
21 фев 17, 10:49    [20232019]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Oracle Ответить