|
|
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
Есть селект, который возвращает данные по мероприятиям. У каждого мероприятия есть дата начала и окончания, есть дочерние мероприятия, их интервал не обязательно совпадает с интервалом родительского, но не может выходить за рамки родительского. Необходимо отсортировать записи в виде: Интервал Наименование Дочернее мероприятие ID OWNER_ID08-00 - 11-00 М1 нет 1 10-00 - 10-30 М2 нет 2 11-00 - 15-00 М3 нет 3 11-00 - 12-00 Д1 да 4 313-30 - 14-00 Д2 да 5 312-00 - 13-00 М4 нет 6 То есть отсортировать по времени начала, но при этом Дочерние мероприятия должны быть привязаны к своему родительскому (идти сразу после него). Сейчас сортирую так: Код: plsql 1. Но при таком способе - если какое-то 2-е родительское будет начинаться раньше одного из дочерних 1-го родительского - 2-е родительское вклиниться между дочерними записями 1-го, а такого быть не должно. Как реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 14:00:41 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
arCHi_1887, with и результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 14:20:09 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
arCHi_1887, иерархический запрос + connect_by_root ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 14:23:06 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
AmKad, а чего просто не order siblings by ps кстати давно не видно было))) куда пропадал?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 14:41:31 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
Vint, Да как-то получилось так, что то время, которое раньше отводил для чтения этого форума, теперь отвожу для баловства с другими технологиями. А так, по-прежнему, на работе Oracle - мой основной рабочий инструмент, и поэтому изредка сюда все же заглядываю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 15:17:52 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
Окей, написал так: Код: plsql 1. 2. Все ок, но повились дубликаты у которых данные одинаковые, но разный level. Исключил их так: Код: plsql 1. Как их нормально исключить, не используя where ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 15:34:07 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
arCHi_1887, start with owner_id is null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 15:35:15 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
Egoр, найс, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 15:41:23 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
arCHi_1887, на таких данных с иерархией корень-лист можно и так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 16:06:37 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
suPPLer, только всё-таки Код: plsql 1. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 16:49:53 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
JaRo, долго думал, не понял, что именно Вы предлагаете дополнить -- partition by функции или order by запроса. Вижу, что first_value избыточна: Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 17:06:30 |
|
||
|
Привязка дочерних записей к родительским при сортировке
|
|||
|---|---|---|---|
|
#18+
suPPLer, в кляузе order by селекта. Мероприятия они такие - одновременно в разных местах запросто (родительские в смысле) :) Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 17:38:16 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39266495&tid=1887974]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 477ms |

| 0 / 0 |
