|
Объединение дат в периоды
|
|||
---|---|---|---|
#18+
Доброго времени суток, уважаемые форумчане! Прошу вашей помощи, как малосведущему в SQL. Как можно из таблицы А сделать таблицу Б? Думал о рекурсивном запросе, о group by, но никак не могу придумать способа(( Заранее спасибо за помощь! Таблица А Id1 id2 Dt a a 01.01.2020 a a 02.01.2020 a a 03.01.2020 a b 04.01.2020 a b 05.01.2020 a b 06.01.2020 a b 07.01.2020 a c 08.01.2020 a c 09.01.2020 a a 10.01.2020 a a 11.01.2020 a a 12.01.2020 b a 01.02.2020 b a 02.02.2020 b a 03.02.2020 b b 04.02.2020 b b 05.02.2020 b b 06.02.2020 b b 07.02.2020 b c 08.02.2020 b c 09.02.2020 b c 10.02.2020 b d 11.02.2020 b d 12.02.2020 b d 13.02.2020 b d 14.02.2020 Таблица Б Id1 id2 dt_start dt_finish a a 01.01.2020 03.01.2020 a b 04.01.2020 07.01.2020 a c 08.01.2020 09.01.2020 a a 10.01.2020 12.01.2020 b a 01.02.2020 03.02.2020 b b 04.02.2020 07.02.2020 b c 08.02.2020 10.02.2020 b d 11.02.2020 14.02.2020 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 19:14 |
|
Объединение дат в периоды
|
|||
---|---|---|---|
#18+
jurafenix, Таблица В выглядит как минимальная дата и максимальная дата для каждой комбинации из id1 и id2 из таблицы А - в этом случае предлагаю еще немного подумать о group by Regards ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 19:52 |
|
Объединение дат в периоды
|
|||
---|---|---|---|
#18+
Maxim Demenko, К сожалению, это неверно. Если посмотреть внимательнее, то комбинация a-a встречается дважды с разными диапазонами дат. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 20:15 |
|
Объединение дат в периоды
|
|||
---|---|---|---|
#18+
jurafenix, И тем не менее - решается с помощью group by - ищите по форуму "start of group". Regards ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2020, 20:25 |
|
Объединение дат в периоды
|
|||
---|---|---|---|
#18+
jurafenix, Код: 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. 26. 27. 28. 29. 30. 31. 32. 33. 34.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 08:53 |
|
Объединение дат в периоды
|
|||
---|---|---|---|
#18+
Stax, огромное спасибо! Именно Ваш совет помог мне разобраться как сделать. Правда на большом объеме данных пришлось еще row_number группировать, но решение простое и потрясное! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 20:45 |
|
Объединение дат в периоды
|
|||
---|---|---|---|
#18+
Stax, Пора уже переходить на match_recognize: Код: 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 21:22 |
|
Объединение дат в периоды
|
|||
---|---|---|---|
#18+
SY Stax, Пора уже переходить на match_recognize: SY. мне не очень удобно из-за древней версии зы очепятка gap no_gap + .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 08:51 |
|
|
start [/forum/topic.php?fid=52&fpage=45&tid=1881210]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 138ms |
0 / 0 |