Предложение HAVING в Access определяет сгруппированные записи, которые должны отображаться в инструкции SELECT с предложением GROUP BY. После того как записи будут сгруппированы предложением GROUP BY, предложение HAVING отобразит те из них, которые отвечают его условиям.
Синтаксис
SELECT список_полей
FROM таблица WHERE условия_отбора GROUP BY список_полей_группы [HAVING условия_группы]Инструкция SELECT, содержащая предложение HAVING, включает в себя следующие элементы:
Часть |
Описание |
список_полей |
Имена полей, извлекаемых вместе со всеми псевдонимами, агрегатными функциями SQL, предикатами отбора (ALL, DISTINCT, DISTINCTROW или TOP) или с другими параметрами инструкции SELECT. |
таблица |
Имя таблицы, из которой извлекаются записи. |
условия_отбора |
Условия отбора. Если инструкция содержит предложение WHERE, то после его применения к записям ядро базы данных Microsoft Access сгруппирует значения. |
список_полей_группы |
Имена полей (не более 10), используемых для группировки записей. Порядок следования имен в списке_полей_группы определяет уровень группировки — от самого высокого до самого низкого. |
условия_группы |
Выражение, определяющее отображаемые записи. |
Замечания
Предложение HAVING не является обязательным.
Предложение HAVING аналогично предложению WHERE, которым определяется выбор записей. После группировки записей с предложением GROUP BY предложение HAVING определяет отображаемые записи:
SELECT CategoryID,
Sum(UnitsInStock) FROM Products GROUP BY CategoryID HAVING Sum(UnitsInStock) > 100 And Like "BOS*";
Предложение HAVING может содержать до 40 выражений, связанных логическими операторами, такими как AND и OR.