powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Нужна помощь с запросом
10 сообщений из 10, страница 1 из 1
Нужна помощь с запросом
    #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
Нужна помощь с запросом
    #39586566
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YagMort,

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

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


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

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

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

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

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

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

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


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