|
Получить даты из заданного интервала | ☑ | ||
---|---|---|---|---|
0
eldvong1941
19.12.13
✎
13:49
|
Здравствуйте. Появился следующий вопрос: Как получить все даты из заданного интервала с помощью запроса, не используя при этом Регламентированный производственный календарь? Возможно ли это?
|
|||
1
Wobland
19.12.13
✎
13:52
|
да
|
|||
2
Wobland
19.12.13
✎
13:52
|
циклом
|
|||
3
МихаилМ
19.12.13
✎
14:00
|
||||
4
KishMish
19.12.13
✎
14:03
|
генерация последовательности дат от Дата1 до Дата2. Решается аналогично, можно как выполнить в 3 шага (первый и второй как в приведённом примере, но результат не выбрать а поместить во временную таблицу) или в 2 шага изменив второй запрос пакета на вот такой:
ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, (Цифры.Цифра-1) + (Цифры1.Цифра -1)*10+ (Цифры2.Цифра -1)*100) КАК Дата ИЗ Цифры КАК Цифры, Цифры КАК Цифры1, Цифры КАК Цифры2 ГДЕ ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, (Цифры.Цифра-1) + (Цифры1.Цифра -1)*10+ (Цифры2.Цифра -1)*100) УПОРЯДОЧИТЬ ПО Дата |
|||
5
KishMish
19.12.13
✎
14:04
|
+(4) описание таблицы Цифры
ВЫБРАТЬ Цифры.Поле1 КАК Цифра ПОМЕСТИТЬ Цифры ИЗ (ВЫБРАТЬ 1 КАК Поле1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9 ОБЪЕДИНИТЬ ВЫБРАТЬ 10) КАК Цифры ; |
|||
6
eldvong1941
19.12.13
✎
14:23
|
Спасибо, щас в запросе прогоню...
|
|||
7
eldvong1941
19.12.13
✎
14:57
|
ВЫБРАТЬ
Даты.Дата КАК Месяц ИЗ (ВЫБРАТЬ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ), МЕСЯЦ, t.n) КАК Дата ИЗ (ВЫБРАТЬ 6 * (t1.a - 1) + t2.b - 1 КАК n ИЗ (ВЫБРАТЬ 1 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6) КАК t1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 1 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6) КАК t2 ПО (ИСТИНА)) КАК t ГДЕ t.n <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ)) КАК Даты СГРУППИРОВАТЬ ПО Даты.Дата |
|||
8
eldvong1941
19.12.13
✎
15:04
|
Получил список первых дат месяцев в заданном периоде.
Только не пойму почему: 6 * (t1.a - 1) + t2.b - 1, можно же и другое выражение? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |