Предложение 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.