Az Access HAVING záradéka meghatározza, hogy a GROUP BY záradékkal ellátott SELECT utasítások által visszaadott csoportosított rekordok közül melyek jelenjenek meg. Miután a GROUP BY egyesítette a rekordokat, az így egyesített rekordok közül a HAVING záradék csak azokat jeleníti meg, amelyek kielégítik a HAVING záradékban meghatározott feltételeket.
Szintaxis
SELECT mezőlistaFROM táblaWHERE kiválasztási feltételekGROUP BY csoportosító mezőlista[HAVING csoportra vonatkozó feltételek]
Egy HAVING záradékot tartalmazó SELECT utasítás a következő részekből áll:
|
Rész |
Leírás |
|
mezőlista |
A visszaadandó mező vagy mezők neve az esetleges aliasokkal, összesítő SQL-függvényekkel, kiválasztási predikátumokkal (ALL, DISTINCT, DISTINCTROW vagy TOP), valamint a SELECT utasítás egyéb paramétereivel együtt. |
|
tábla |
Annak a táblának a neve, amelyből a rekordokat lekérdezi. |
|
kiválasztási feltételek |
Kiválasztási feltételek. Ha az utasítás tartalmaz WHERE záradékot, akkor a Microsoft Access adatbázismotorja a WHERE feltételeknek a rekordokra történő alkalmazása után összesíti az értékeket. |
|
csoportosító mezőlista |
Legfeljebb 10 mező neve, amelynek alapján a rekordokat csoportosítja. A csoportosító mezőlista mezőneveinek sorrendje meghatározza a csoportosítási szinteket a legalsótól a legfelső szintig. |
|
csoportra vonatkozó feltételek |
Egy kifejezés, amely meghatározza, hogy mely csoportosított rekordok jelenjenek meg. |
Megjegyzések
A HAVING záradék használata nem kötelező.
A HAVING záradék hasonlít a WHERE záradékhoz, amely a kiválasztandó rekordokat határozza meg. A HAVING záradék azt határozza meg, hogy a GROUP BY záradékkal csoportosított rekordok közül melyek jelenjenek meg:
SELECT CategoryID,Sum(UnitsInStock)FROM ProductsGROUP BY CategoryIDHAVING Sum(UnitsInStock) > 100 And Like "BOS*";
Egy HAVING záradék legfeljebb 40 kifejezésből állhat, amelyeket logikai operátorok, például And vagy Or fűznek össze.