|
Как получить диапазоны дат в запросе? | ☑ | ||
---|---|---|---|---|
0
Господин ПЖ
10.01.13
✎
18:17
|
Например есть такая времянка:
ВЫБРАТЬ ДАТАВРЕМЯ(2013, 1, 1) КАК дата, 100 КАК ставка ПОМЕСТИТЬ ставки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(2013, 2, 1), 200 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(2013, 3, 1), 300 на выходе в выборке нужно 01.01.2013/31.01.2013/100 01.02.2013/28.02.2013/200 01.03.2013/30.03.2013/300 делается это в рамках одного запроса? |
|||
1
Fragster
гуру
10.01.13
✎
18:17
|
да
|
|||
2
Fragster
гуру
10.01.13
✎
18:18
|
соедини само с собой по "меньше", сгруппируй и получи максимум
|
|||
3
Господин ПЖ
10.01.13
✎
18:25
|
(2) что-то не получается
|
|||
4
Fragster
гуру
10.01.13
✎
18:25
|
(3) тогда 300 рублей
|
|||
5
rphosts
10.01.13
✎
18:28
|
(0) хошь дам тебе запрос который выдаёт даты по порядку? Дальше сам допилишь...
|
|||
6
Господин ПЖ
10.01.13
✎
18:30
|
(5) давай...
|
|||
7
rphosts
10.01.13
✎
18:32
|
ща накалякаю
|
|||
8
rphosts
10.01.13
✎
18:34
|
ВЫБРАТЬ Цифры.Поле1 КАК Цифра
ПОМЕСТИТЬ Цифры ИЗ (ВЫБРАТЬ 1 КАК Поле1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9 ОБЪЕДИНИТЬ ВЫБРАТЬ 10) КАК Цифры ; ////////////////////////////////////////////// ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, (Цифры.Цифра-1) + (Цифры1.Цифра -1)*10+ (Цифры2.Цифра -1)*100) КАК Дата ИЗ Цифры КАК Цифры, Цифры КАК Цифры1, Цифры КАК Цифры2 ГДЕ ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, (Цифры.Цифра-1) + (Цифры1.Цифра -1)*10+ (Цифры2.Цифра -1)*100) УПОРЯДОЧИТЬ ПО Дата |
|||
9
Kashemir
10.01.13
✎
18:35
|
ВЫБРАТЬ
ТЗ.Период, ТЗ.Ставка ПОМЕСТИТЬ ТЗ ИЗ &ТЗ КАК ТЗ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТЗ.Период КАК Период, МИНИМУМ(ТЗ1.Период) КАК Период1, ТЗ.Ставка ИЗ ТЗ КАК ТЗ ЛЕВОЕ СОЕДИНЕНИЕ ТЗ КАК ТЗ1 ПО ТЗ.Период < ТЗ1.Период СГРУППИРОВАТЬ ПО ТЗ.Период, ТЗ.Ставка УПОРЯДОЧИТЬ ПО Период |
|||
10
Fragster
гуру
10.01.13
✎
18:35
|
(8) в (0) этого не нужно
|
|||
11
Fragster
гуру
10.01.13
✎
18:35
|
(9) близко, но нет
|
|||
12
Reset
10.01.13
✎
18:36
|
Пример к (2)
Выбрать Максимум(Вт2.Дата),ДобавитьКДате(Вт1.Дата,День,-1),Вт1.Ставка Из Вт как Вт1 Левое Соединение Вт как Вт2 по Вт1.Дата>Вт2.Дата Сгруппировать по Вт1.Дата,Вт1.Ставка |
|||
13
rphosts
10.01.13
✎
18:36
|
(10) вломм мне думать в полдесятого... что предложил - то и набацал
|
|||
14
Kashemir
10.01.13
✎
18:36
|
(11) Что конкретно не так ?
|
|||
15
Fragster
гуру
10.01.13
✎
18:37
|
(14) это я туплю, все правильно
|
|||
16
Господин ПЖ
10.01.13
✎
18:40
|
(11) вроде похоже на правду...
(9) спасибо (8) спасибо |
|||
17
Господин ПЖ
10.01.13
✎
18:40
|
всем спасибо за помощь
|
|||
18
Reset
10.01.13
✎
18:41
|
в (9) правильней, я поторопился
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |