Поиск по этому блогу

5 июля 2022 г.

Запрос объединяющий пересекающиеся интервалы дат

ВЫБРАТЬ

Данные.ДатаНачала КАК НачалоПериода,

Данные.ДатаОкончания КАК КонецПериода

ПОМЕСТИТЬ ВТДанные

ИЗ

&ТаблицаПериоды КАК Данные

;


////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

Данные.НачалоПериода КАК НачалоПериода,

Данные.КонецПериода КАК КонецПериода

ПОМЕСТИТЬ ВТБезПоглощаемых

ИЗ

ВТДанные КАК Данные

ЛЕВОЕ СОЕДИНЕНИЕ ВТДанные КАК Данные2

ПО Данные.НачалоПериода > Данные2.НачалоПериода

И Данные.КонецПериода < Данные2.КонецПериода

ГДЕ

Данные2.НачалоПериода ЕСТЬ NULL

;


////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ РАЗЛИЧНЫЕ

ЕСТЬNULL(Т1.НачалоПериода, Т.НачалоПериода) КАК НачалоПериода,

ЕСТЬNULL(Т2.КонецПериода, Т.КонецПериода) КАК КонецПериода

ИЗ

ВТБезПоглощаемых КАК Т

ЛЕВОЕ СОЕДИНЕНИЕ ВТБезПоглощаемых КАК Т2

ПО Т.КонецПериода < Т2.КонецПериода

И Т.КонецПериода >= Т2.НачалоПериода

ЛЕВОЕ СОЕДИНЕНИЕ ВТБезПоглощаемых КАК Т1

ПО Т.НачалоПериода > Т1.НачалоПериода

И Т.НачалоПериода <= Т1.КонецПериода

Комментариев нет:

Отправить комментарий