|
Периоды | ☑ | ||
|---|---|---|---|---|
|
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
|
спасибо!
|
| Форум | Правила | Описание | Секции | Поиск |