|
Как посчитать количество по группировкам в запросе | ☑ | ||
---|---|---|---|---|
0
Melcor
20.04.18
✎
13:59
|
Доброго дня. есть запрос, необходимо посчитать количество сезонов где значение не равно 0, т.е.
СУММА_ВЕСНА_2014 = 0 СУММА_ОСЕНЬ_2014 = 0 СУММА_ВЕСНА_2015 = 500 СУММА_ВЕСНА_2016 = 700 Нужно получить КолвоСезонов = 2 ВЫБРАТЬ ВложенныйЗапрос.Клиент, ВложенныйЗапрос.ДокументСобытияСумма КАК ДокументСобытияСумма, ВложенныйЗапрос.СУММА_ВЕСНА_2014, ВложенныйЗапрос.СУММА_ОСЕНЬ_2014, ВложенныйЗапрос.СУММА_ВЕСНА_2015, ВложенныйЗапрос.СУММА_ОСЕНЬ_2015, ВложенныйЗапрос.СУММА_ВЕСНА_2016, ВложенныйЗапрос.СУММА_ОСЕНЬ_2016, ВложенныйЗапрос.СУММА_ВЕСНА_2017, ВложенныйЗапрос.СУММА_ОСЕНЬ_2017 ИЗ (ВЫБРАТЬ События.Клиент КАК Клиент, СУММА(События.ДокументСобытия.Сумма) КАК ДокументСобытияСумма, СУММА(ВЫБОР КОГДА События.Период МЕЖДУ ДАТАВРЕМЯ(2014, 7, 1, 0, 0, 0) И ДАТАВРЕМЯ(2015, 1, 31, 23, 59, 59) ТОГДА События.ДокументСобытия.Сумма ИНАЧЕ 0 КОНЕЦ) КАК СУММА_ОСЕНЬ_2014, СУММА(ВЫБОР КОГДА События.Период МЕЖДУ ДАТАВРЕМЯ(2015, 2, 1, 0, 0, 0) И ДАТАВРЕМЯ(2015, 6, 30, 23, 59, 59) ТОГДА События.ДокументСобытия.Сумма ИНАЧЕ 0 КОНЕЦ) КАК СУММА_ВЕСНА_2015, СУММА(ВЫБОР КОГДА События.Период МЕЖДУ ДАТАВРЕМЯ(2015, 7, 1, 0, 0, 0) И ДАТАВРЕМЯ(2016, 1, 31, 23, 59, 59) ТОГДА События.ДокументСобытия.Сумма ИНАЧЕ 0 КОНЕЦ) КАК СУММА_ОСЕНЬ_2015, СУММА(ВЫБОР КОГДА События.Период МЕЖДУ ДАТАВРЕМЯ(2016, 2, 1, 0, 0, 0) И ДАТАВРЕМЯ(2016, 6, 30, 23, 59, 59) ТОГДА События.ДокументСобытия.Сумма ИНАЧЕ 0 КОНЕЦ) КАК СУММА_ВЕСНА_2016, СУММА(ВЫБОР КОГДА События.Период МЕЖДУ ДАТАВРЕМЯ(2016, 7, 1, 0, 0, 0) И ДАТАВРЕМЯ(2017, 1, 31, 23, 59, 59) ТОГДА События.ДокументСобытия.Сумма ИНАЧЕ 0 КОНЕЦ) КАК СУММА_ОСЕНЬ_2016, СУММА(ВЫБОР КОГДА События.Период МЕЖДУ ДАТАВРЕМЯ(2017, 2, 1, 0, 0, 0) И ДАТАВРЕМЯ(2017, 6, 30, 23, 59, 59) ТОГДА События.ДокументСобытия.Сумма ИНАЧЕ 0 КОНЕЦ) КАК СУММА_ВЕСНА_2017, СУММА(ВЫБОР КОГДА События.Период МЕЖДУ ДАТАВРЕМЯ(2017, 7, 1, 0, 0, 0) И ДАТАВРЕМЯ(2018, 1, 31, 23, 59, 59) ТОГДА События.ДокументСобытия.Сумма ИНАЧЕ 0 КОНЕЦ) КАК СУММА_ОСЕНЬ_2017 ИЗ РегистрСведений.События КАК События ЛЕВОЕ СОЕДИНЕНИЕ НенужныеРеализации КАК НенужныеРеализации ПО События.ДокументСобытия = НенужныеРеализации.ДокументСобытияСсылка ГДЕ События.ГруппаСобытия = &Реализация И События.ДокументСобытия.СерийныйНомер <> &ПустойСерНум И НенужныеРеализации.ДокументСобытияСсылка ЕСТЬ NULL СГРУППИРОВАТЬ ПО События.Клиент) КАК ВложенныйЗапрос УПОРЯДОЧИТЬ ПО ДокументСобытияСумма УБЫВ |
|||
1
Ненавижу 1С
гуру
20.04.18
✎
14:09
|
запрос конечно х..ня твой
но чтоб все не переделывать ВЫБОР КОГДА ВложенныйЗапрос.СУММА_ВЕСНА_2014<>0 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА ВложенныйЗапрос.СУММА_ОСЕНЬ_2014<>0 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ... |
|||
2
Gantosha
20.04.18
✎
14:09
|
в 1с в 8.2 такое слово в языке запросов появилось)
|
|||
3
Melcor
20.04.18
✎
14:17
|
(1) Ага, только догнал) Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |