Klauzule HAVING v Accessu určuje seskupené záznamy, které se zobrazí v příkazu SELECT obsahujícím klauzuli GROUP BY. Poté, co klauzule GROUP BY zkombinuje záznamy, klauzule HAVING zobrazí všechny záznamy seskupené klauzulí GROUP BY, které vyhovují podmínkám klauzule HAVING.
Syntaxe
SELECT seznam_polí
FROM tabulka WHERE výběrová_kritéria GROUP BY seznam_seskupovacích_polí [HAVING skupinová_kritéria]Příkaz SELECT obsahující klauzuli HAVING má následující části:
Část |
Popis |
seznam_polí |
Název pole nebo polí, která se mají načíst, a dále jakékoli aliasy názvů polí, agregační funkce jazyka SQL, výběrové predikáty (ALL, DISTINCT, DISTINCTROW nebo TOP) nebo jiné parametry příkazu SELECT |
tabulka |
Název tabulky, ze které jsou načítány záznamy. |
výběrová_kritéria |
Kritéria výběru. Pokud příkaz zahrnuje klauzuli WHERE, databázový stroj Microsoft Access po uplatnění podmínek WHERE na záznamy provádí seskupení hodnot. |
seznam_seskupovacích_polí |
Názvy až 10 polí, které budou použity k seskupení záznamů. Pořadí názvů polí v seznamu seznam_seskupovacích_polí určuje úroveň seskupení od nejvyšší po nejnižší. |
skupinová_kritéria |
Výraz určující, které seskupené záznamy budou zobrazeny. |
Poznámky
Klauzule HAVING je nepovinná.
Klauzule HAVING má podobnou funkci jako klauzule WHERE, která určuje vybrané záznamy. Po seskupení záznamů pomocí klauzule GROUP BY je na základě klauzule HAVING určeno, které záznamy budou zobrazeny:
SELECT CategoryID,
Sum(UnitsInStock) FROM Products GROUP BY CategoryID HAVING Sum(UnitsInStock) > 100 And Like "BOS*";
Klauzule HAVING může obsahovat až 40 výrazů spojených logickými operátory, například operátory And a Or.