Clauza HAVING din Access specifică ce înregistrări grupate se afișează într-o instrucțiune SELECT cu o clauză GROUP BY. După ce GROUP BY combină înregistrările, HAVING afișează toate înregistrările grupate după clauza GROUP BY care îndeplinesc condițiile clauzei HAVING.
Sintaxă
SELECT listăcâmpuri
FROM tabel WHERE criteriiselecție GROUP BY listăcâmpurigrup [HAVING criteriigrup]O instrucțiune SELECT care conține o clauză HAVING are aceste părți:
Parte |
Descriere |
listăcâmpuri |
Numele câmpului sau câmpurilor de regăsit împreună cu orice aliasuri de nume de câmp, funcții SQL agregate, predicate de selecție (ALL, DISTINCT, DISTINCTROW sau TOP) sau alte opțiuni pentru instrucțiunea SELECT. |
tabel |
Numele tabelului din care sunt regăsite înregistrările. |
criteriiselecție |
Criteriile de selecție. Dacă instrucțiunea include o clauză WHERE, motorul bazei de date Microsoft Access grupează valorile după ce aplică înregistrărilor condițiile WHERE. |
listăcâmpurigrup |
Numele a până la 10 câmpuri utilizate pentru a grupa înregistrări. Ordinea numelor de câmp din listăcâmpurigrup determină nivelurile de grupare, de la nivelul de grupare cel mai mare la nivelul de grupare cel mai mic. |
criteriigrup |
O expresie care determină înregistrările grupate care se afișează. |
Observații
HAVING este opțional.
HAVING este asemănător cu WHERE, care determină ce înregistrări se selectează. După ce înregistrările sunt grupate cu GROUP BY, HAVING determină ce înregistrări se afișează:
SELECT CategoryID,
Sum(UnitsInStock) FROM Products GROUP BY CategoryID HAVING Sum(UnitsInStock) > 100 And Like "BOS*";
O clauză HAVING poate conține până la 40 de expresii legate prin operatori logici, cum ar fi And și Or.