Ο όρος HAVING στην Access καθορίζει ποιες ομαδοποιημένες εγγραφές εμφανίζονται σε μια πρόταση SELECT που περιέχει τον όρο GROUP BY. Αφού γίνει συνδυασμός των εγγραφών από τον όρο GROUP BY, εμφανίζονται οι εγγραφές που ομαδοποιήθηκαν από τον όρο GROUP BY, οι οποίες ικανοποιούν τις συνθήκες του όρου HAVING.
Σύνταξη
SELECT λίστα_πεδίων
FROM πίνακας WHERE κριτήρια_επιλογής GROUP BY λίστα_πεδίων_ομαδοποίησης [HAVING κριτήρια_ομάδας]Μια πρόταση SELECT που περιέχει έναν όρο HAVING αποτελείται από τα εξής τμήματα:
Τμήμα |
Περιγραφή |
λίστα_πεδίων |
Το όνομα του πεδίου ή των πεδίων που θα ανακτηθούν καθώς και τυχόν ψευδώνυμα ονομάτων πεδίων, συναρτήσεις συγκεντρωτικών αποτελεσμάτων SQL, κατηγορήματα επιλογής (ALL, DISTINCT, DISTINCTROW ή TOP) ή άλλες επιλογές της πρότασης SELECT. |
πίνακας |
Το όνομα του πίνακα από τον οποίο γίνεται ανάκτηση των εγγραφών. |
κριτήρια_επιλογής |
Τα κριτήρια επιλογής. Εάν η πρόταση περιλαμβάνει έναν όρο WHERE, ο μηχανισμός διαχείρισης βάσεων δεδομένων της Microsoft Access ομαδοποιεί τις τιμές αφού εφαρμόσει τις συνθήκες του όρου WHERE στις εγγραφές. |
λίστα_πεδίων_ομαδοποίησης |
Τα ονόματα έως και 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.