Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Как посчитать количество по группировкам в запросе

Как посчитать количество по группировкам в запросе
Я
   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 КОНЕЦ +
...
   Gantosha
 
2 - 20.04.18 - 14:09
в 1с в 8.2 такое слово в языке запросов появилось)
   Melcor
 
3 - 20.04.18 - 14:17
(1) Ага, только догнал) Спасибо

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует