HelpF.pro

Оператор ИМЕЮЩИЕ

Отличие директивы «ИМЕЮЩИЕ» от условия «ГДЕ» состоит в том, что ее можно использовать для агрегатных функций. Обязательным условием при этом является использование группировки по остальным полям.
Пример:
Код 1C v 8.х
 ВЫБРАТЬ
тбЗадания.Задание,
СУММА(тбЗадания.КоличествоИсполнителей) КАК КоличествоИсполнителей
ИЗ
РегистрСведений.устВыполняемыеЗадания КАК тбЗадания
ГДЕ
тбЗадания.Выполнение
СГРУППИРОВАТЬ ПО
тбЗадания.Задание
ИМЕЮЩИЕ
СУММА(тбЗадания.КоличествоИсполнителей) > 0

При этом есть одна особенность. Не смотря на то, что аналогичная директива на языке запросов SQL (HAVING) позволяет указать псевдоним поля, на языке запросов 1С псевдоним поля указать нельзя. Т.е. в конце нельзя написать: «ИМЕЮЩИЕ КоличествоИсполнителей > 0″, – это будет неправильно, нужно полностью продублировать всю функцию (в нашем случае «СУММА(тбЗадания.КоличествоИсполнителей)»)
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/957.html