|
Соединить таблицы со смещением
| ☑ |
0
extrim-style
03.02.14
✎
13:10
|
Есть таблица с отсортированной колонкой дат:
01.03.2013
07.05.2013
11.09.2013
15.12.2013
Нужно добавить к ней эту же колонку со смещением в одну строку:
01.03.2013 07.05.2013
07.05.2013 11.09.2013
11.09.2013 15.12.2013
15.12.2013 ДатаКон
Как это сделать в запросе?
|
|
1
Wobland
03.02.14
✎
13:11
|
нумерация строк в запросе?
|
|
2
Wobland
03.02.14
✎
13:12
|
а ещё можно без соединения, над результатом запроса изгаляться
|
|
3
mistеr
03.02.14
✎
13:14
|
Поиск "срез последних на каждый день"
|
|
4
butterbean
03.02.14
✎
13:16
|
ВЫБРАТЬ
Таблица.Дата, ВложЗапрос.Смещение
ИЗ Таблица
ЛЕВОЕ СОЕДИНЕНИЕ
(Т1.Дата КАК Дата,МИНИМУМ(Т2.Дата) КАК Смещение
ИЗ Таблица КАК Т1
ЛЕВОЕ СОЕДИНЕНИЕ Таблица КАК Т2
ПО Т1.Дата < Т2.Дата СГРУППИРОВАТЬ ПО Т1.Дата) КАК ВложЗапрос ПО ВложЗапрос.Дата = Таблица.Дата
|
|
5
Sorm
03.02.14
✎
13:27
|
(4) Имхо, проще так
ВЫБРАТЬ
Таблица.Дата,
МИНИМУМ(Таблица2.Дата) КАК Дата1
ИЗ
Таблица КАК Таблица
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Таблица КАК Таблица2
ПО Таблица.Дата < Таблица2.Дата
СГРУППИРОВАТЬ ПО
Таблица.Дата
|
|
6
Sorm
03.02.14
✎
13:30
|
(4) А, сорри, все, понял. Да, все верно.
|
|
7
extrim-style
03.02.14
✎
13:41
|
(4) спасибо
|
|
8
К_Дач
03.02.14
✎
13:58
|
ВЫБРАТЬ
ТабДаты1.Дата
ПОМЕСТИТЬ ТабДаты1
ИЗ
&ТабДаты КАК ТабДаты1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТабДаты2.Дата
ПОМЕСТИТЬ ТабДаты2
ИЗ
&ТабДаты КАК ТабДаты2
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТабДаты1.Дата КАК Дата1,
ТабДаты2.Дата КАК Дата КАК Дата2
ИЗ
ТабДаты1 КАК ТабДаты1
ПОЛНОЕ СОЕДИНЕНИЕ ТабДаты2 КАК ТабДаты2
ПО ТабДаты1.Дата < ТабДаты2.Дата
СГРУППИРОВАТЬ ПО
ТабДаты1.Дата
|
|
9
К_Дач
03.02.14
✎
13:59
|
Только не "ПОЛНОЕ", а "ЛЕВОЕ", разумеется
|
|