Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Нужна помощь с запросом / 10 сообщений из 10, страница 1 из 1
18.01.2018, 16:47
    #39586560
YagMort
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с запросом
Есть таблица в которой содержаться данные в следующем виде:

ID Дата
1 28.09.2017
1 30.09.2017 8:00:00
1 30.09.2017 10:30:00
1 30.09.2017 16:30:00
1 2.10.2017
2 28.09.2017
2 30.09.2017 8:00:00
2 30.09.2017 10:30:00
2 30.09.2017 16:30:00
2 2.10.2017
3 28.09.2017
3 30.09.2017 8:00:00
3 30.09.2017 10:30:00
3 30.09.2017 16:30:00
3 2.10.2017

Нужно привести к следующему виду:

ID Дата
1 28.09.2017
1 29.09.2017
1 30.09.2017
1 30.09.2017 8:00:00
1 30.09.2017 10:30:00
1 30.09.2017 16:30:00
1 1.10.2017
1 2.10.2017
2 28.09.2017
2 29.09.2017
2 30.09.2017
2 30.09.2017 8:00:00
2 30.09.2017 10:30:00
2 30.09.2017 16:30:00
2 1.10.2017
2 2.10.2017
3 28.09.2017
3 29.09.2017
3 30.09.2017
3 30.09.2017 8:00:00
3 30.09.2017 10:30:00
3 30.09.2017 16:30:00
3 1.10.2017
3 2.10.2017
...
Рейтинг: 0 / 0
18.01.2018, 16:55
    #39586566
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с запросом
YagMort,

а в чем проблема ?
заполнить недостающие даты между мин-макс датой с группировкой по ИД
...
Рейтинг: 0 / 0
18.01.2018, 18:04
    #39586617
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с запросом
123ййYagMort,

а в чем проблема ?


с наличием "времени" в некоторых датах

....
stax
...
Рейтинг: 0 / 0
18.01.2018, 18:31
    #39586644
Vint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с запросом
Stax,
ага. очень сложно джоинить по trunc(,'DD') с (мин макс датами connect by...). проблема возникнет разве что на очень больших объемах со скоростью.
...
Рейтинг: 0 / 0
18.01.2018, 18:38
    #39586646
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с запросом
VintStax,
ага. очень сложно джоинить по trunc(,'DD') с (мин макс датами connect by...). проблема возникнет разве что на очень больших объемах со скоростью.
не знаю как кому
мне сложно (не просто), ето если не делать влоб (убрать временную составлющую (trunc+union))

....
stax
...
Рейтинг: 0 / 0
18.01.2018, 18:40
    #39586651
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с запросом
YagMort,

какая версия оракля?

.....
stax
...
Рейтинг: 0 / 0
19.01.2018, 08:57
    #39586822
YagMort
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с запросом
Версия 12.

Приджойнил псевдо таблицу

(select level from dual connect by level<=10000) s ON s.level - 1 + q.Start_Date <= q.end_date


где end_date - NVL(LEAD(дата) OVER (PARTITION BY id ORDER BY дата)), TRUNC(SYSDATE)) end_date
...
Рейтинг: 0 / 0
19.01.2018, 09:38
    #39586845
Нужна помощь с запросом
YagMortВерсия 12.

Приджойнил псевдо таблицу

(select level from dual connect by level<=10000) s ON s.level - 1 + q.Start_Date <= q.end_date


где end_date - NVL(LEAD(дата) OVER (PARTITION BY id ORDER BY дата)), TRUNC(SYSDATE)) end_dateты рапортуешь нам об успешности решения тобой задачи? или уточняешь, что сделал и где не получилось?
...
Рейтинг: 0 / 0
19.01.2018, 10:03
    #39586871
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с запросом
YagMort,

nvl(lead,xxx)

Код: plsql
1.
2.
3.
4.
5.
6.
SQL> select d,lead(d,1,trunc(sysdate)) over (order by d) ld from (select date '2017-01-05' d from dual) t
  2  /

D        LD
-------- --------
05.01.17 19.01.18



.....
stax
...
Рейтинг: 0 / 0
19.01.2018, 13:47
    #39587070
YagMort
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь с запросом
Добрый Э - Эх,

Да, всё разрулил сам.

Всем спасибо.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Нужна помощь с запросом / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]