|
Периоды |
☑ |
0
smartu
13.03.13
✎
00:29
|
пример запроса:
ВЫБРАТЬ
ДАТАВРЕМЯ(2013, 3, 1) КАК Период
ПОМЕСТИТЬ ВТ_ИсходныеДанные
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2013, 3, 2)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ДАТАВРЕМЯ(2013, 3, 25)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Начало.Период,
Конец.Период КАК Период1
ИЗ
ВТ_ИсходныеДанные КАК Начало
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ИсходныеДанные КАК Конец
ПО Начало.Период < Конец.Период
на выходе получается:
Период Период 1
01.03.2013 0:00:00 02.03.2013 0:00:00
01.03.2013 0:00:00 25.03.2013 0:00:00
02.03.2013 0:00:00 25.03.2013 0:00:00
25.03.2013 0:00:00
не додумаю какую связь сделать что бы получилось вида
Период Период 1
01.03.2013 0:00:00 01.03.2013 0:00:00
02.03.2013 0:00:00 25.03.2013 0:00:00
26.03.2013 0:00:00 31.03.2013 0:00:00
?
|
|
1
Ksandr
13.03.13
✎
00:50
|
Поясни вот эту строку
01.03.2013 0:00:00 01.03.2013 0:00:00
|
|
2
Ksandr
13.03.13
✎
00:53
|
В наборе 1,2,25
А в итоге хочешь 1,1,2,25,26,31
|
|
3
smartu
13.03.13
✎
00:54
|
есть три даты в этом примере. необходимо вывести периоды между ними
01.03.2013
02.03.2013
25.03.2013
1- с 01.03.2013 по 01.03.2013
2- с 02.03.2013 по 25.03.2013
3- с 26.03.2013 по 31.03.2013
|
|
4
smartu
13.03.13
✎
00:56
|
конец периода = начало периода следующей строки - 1 день
|
|
5
Classic
13.03.13
✎
00:59
|
В запросе поменяй
Конец.Период
на
ДОБАВИТЬКДАТЕ(МИНИМУМ(Конец.Период), ДЕНЬ, -1)
Ну и группировку есно
|
|
6
Ksandr
13.03.13
✎
00:59
|
ВЫБРАТЬ
Начало.Период,
ДОБАВИТЬКДАТЕ(МИНИМУМ(Конец.Период), ДЕНЬ, -1) КАК Период1
ИЗ
ВТ_ИсходныеДанные КАК Начало
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ИсходныеДанные КАК Конец
ПО Начало.Период < Конец.Период
|
|
7
smartu
13.03.13
✎
01:15
|
спасибо!
|
|