ВЫБРАТЬ
Таблица.Дата, ВложЗапрос.Смещение
ИЗ Таблица
ЛЕВОЕ СОЕДИНЕНИЕ
(Т1.Дата КАК Дата,МИНИМУМ(Т2.Дата) КАК Смещение
ИЗ Таблица КАК Т1
ЛЕВОЕ СОЕДИНЕНИЕ Таблица КАК Т2
ПО Т1.Дата < Т2.Дата СГРУППИРОВАТЬ ПО Т1.Дата) КАК ВложЗапрос ПО ВложЗапрос.Дата = Таблица.Дата
(4) Имхо, проще так
ВЫБРАТЬ
Таблица.Дата,
МИНИМУМ(Таблица2.Дата) КАК Дата1
ИЗ
Таблица КАК Таблица
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Таблица КАК Таблица2
ПО Таблица.Дата < Таблица2.Дата
ВЫБРАТЬ
ТабДаты1.Дата
ПОМЕСТИТЬ ТабДаты1
ИЗ
&ТабДаты КАК ТабДаты1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТабДаты2.Дата
ПОМЕСТИТЬ ТабДаты2
ИЗ
&ТабДаты КАК ТабДаты2
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТабДаты1.Дата КАК Дата1,
ТабДаты2.Дата КАК Дата КАК Дата2
ИЗ
ТабДаты1 КАК ТабДаты1
ПОЛНОЕ СОЕДИНЕНИЕ ТабДаты2 КАК ТабДаты2
ПО ТабДаты1.Дата < ТабДаты2.Дата
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший