|
Интервалы дат из списка дат | ☑ | ||
---|---|---|---|---|
0
location
naïve
09.05.22
✎
10:11
|
Добрый день.
Подскажите не вижу где накосячил есть даты например 09.05.2022 0:00:00 07.05.2022 0:00:00 04.05.2022 0:00:00 01.05.2022 0:00:00 нужно составить интервалы между этими датами для даты 09.05 будет интервал 07.05. - 09.05 и т.д. написал следующее ВЫБРАТЬ ДАТАВРЕМЯ(2022, 5, 9, 0, 0, 0) КАК Дата ПОМЕСТИТЬ тИсх ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(2022, 5, 7, 0, 0, 0) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(2022, 5, 4, 0, 0, 0) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(2022, 5, 1, 0, 0, 0) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ тИсх.Дата КАК Дата ПОМЕСТИТЬ тГруппы ИЗ тИсх КАК тИсх ЛЕВОЕ СОЕДИНЕНИЕ тИсх КАК тИсх1 ПО тИсх.Дата > тИсх1.Дата СГРУППИРОВАТЬ ПО тИсх.Дата ИМЕЮЩИЕ РАЗНОСТЬДАТ(тИсх.Дата, МАКСИМУМ(тИсх1.Дата), ДЕНЬ) <> 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ тГруппы.Дата, МИНИМУМ(тГруппы1.Дата) КАК ДатаСледГруппы ПОМЕСТИТЬ тГруппыСлед ИЗ тГруппы КАК тГруппы ЛЕВОЕ СОЕДИНЕНИЕ тГруппы КАК тГруппы1 ПО тГруппы.Дата < тГруппы1.Дата СГРУППИРОВАТЬ ПО тГруппы.Дата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МАКСИМУМ(тИсх.Дата) КАК ДиапазонНачало, тГруппыСлед.Дата КАК ДиапазонКонец ПОМЕСТИТЬ ВтИнтервалы ИЗ тГруппыСлед КАК тГруппыСлед ЛЕВОЕ СОЕДИНЕНИЕ тИсх КАК тИсх ПО (тГруппыСлед.Дата > тИсх.Дата) И (тГруппыСлед.Дата < тГруппыСлед.ДатаСледГруппы) СГРУППИРОВАТЬ ПО тГруппыСлед.Дата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ тИсх.Дата КАК Дата, ВтИнтервалы.ДиапазонНачало КАК ДиапазонНачало, ВтИнтервалы.ДиапазонКонец КАК ДиапазонКонец ИЗ тИсх КАК тИсх ЛЕВОЕ СОЕДИНЕНИЕ ВтИнтервалы КАК ВтИнтервалы ПО (тИсх.Дата = ВтИнтервалы.ДиапазонКонец) в результате запроса получил такую таблицу потерялся 1 диапазон с 07 по 09. Дата ДиапазонНачало ДиапазонКонец 09.05.2022 0:00:00 09.05.2022 0:00:00 07.05.2022 0:00:00 04.05.2022 0:00:00 07.05.2022 0:00:00 04.05.2022 0:00:00 01.05.2022 0:00:00 04.05.2022 0:00:00 01.05.2022 0:00:00 |
|||
1
RomanYS
09.05.22
✎
10:51
|
(0) зачем 4 запроса непонятно, это в один запрос делается:
ВЫБРАТЬ тИсх.Дата КАК ДатаКон, МАКСИМУМ(тИсх1.Дата) КАК ДатаНач ИЗ тИсх КАК тИсх ВНУТРЕННЕЕ СОЕДИНЕНИЕ тИсх КАК тИсх1 ПО тИсх.Дата > тИсх1.Дата СГРУППИРОВАТЬ ПО тИсх.Дата |
|||
2
location
naïve
09.05.22
✎
10:58
|
(1) спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |