Вывод ненулевых строк запроса

  1. 8 г. назад
    06.12.2015 13:28:49 отредактировано Hans

    Есть запрос, куча численных показателей. Хочу отсеч все строки в которых все показатели нулевые. Пока на ум пришло только такое решение:

    ВЫБОР КОГДА Остаток <> 0 ТОГДА ИСТИНА Иначе ЛОЖЬ КОНЕЦ ИЛИ ВЫБОР КОГДА Резерв <> 0 ТОГДА ИСТИНА Иначе ЛОЖЬ КОНЕЦ

    и т.д перечисляем все поля, группируем по максимум, потом отсеиваем. Может есть более лучший вариант?

    Ответы: (3) (6) (7)
  2. почему нельзя сумму показателей на ноль проверить?...

    Ответы: (3)
  3. Думаю может схлопнуться ПоложительныйОстаток и ОтрицательныйРезерв. Кароче уже решил проблему

    Прописал в самом подзапросе который выдает нулевые данные.

    ВЫБРАТЬ
    	СпрНоменклатура.Ссылка КАК Номенклатура,
    	0 КАК ПроданоВСЕГО,
    	
    ИЗ
    	Справочник.Номенклатура КАК СпрНоменклатура
    		
    ГДЕ
    	СпрНоменклатура.ЭтоГруппа = ЛОЖЬ И НЕ &ВыводитьНенулевыеДанные
    
    ОБЪЕДИНИТЬ ВСЕ
    
    
    ВЫБРАТЬ
    	АналитикаНоменклатуры.Номенклатура,
    	СУММА(Продажи.КоличествоОборот),
    
  4. Guk почему нельзя сумму показателей на ноль проверить?...

    вот что значит специалист :)

    это - передай "пока" индексу. и зачем свитчкейсы в разные разнес?

    Hans ВЫБОР КОГДА Остаток <> 0 ТОГДА ИСТИНА Иначе ЛОЖЬ КОНЕЦ ИЛИ ВЫБОР КОГДА Резерв <> 0 ТОГДА ИСТИНА Иначе ЛОЖЬ КОНЕЦ

    делай через having (ИМЕЮЩИЕ) сумма(Остаток) <> 0 сумма(Резерв) <> 0

  5. 06.12.2015 14:40:06 отредактировано Lenka_Boo
    ГДЕ
     Остаток <> 0 ИЛИ Резерв <> 0

    Не работает?

    Ответы: (5)
  6. (4) Мне нужно что бы пользователь интерактивно быстро мог это делать.

  7. (0) Более простой вариант - вставить запрос в СКД, а в настройках отчета поставь отбор на <> 0.

  8. Hans ВЫБОР КОГДА Остаток <> 0 ТОГДА ИСТИНА Иначе ЛОЖЬ КОНЕЦ ИЛИ ВЫБОР КОГДА Резерв <> 0 ТОГДА ИСТИНА Иначе ЛОЖЬ КОНЕЦ

    Какое-то у тебя сложное выражение.
    Можно же написать проще

    ВЫБОР КОГДА (Остаток <> 0) ИЛИ (Резерв <> 0) ТОГДА ИСТИНА Иначе ЛОЖЬ КОНЕЦ

или зарегистрируйтесь чтобы ответить!