تحدد عبارة HAVING في Access أي من السجلات المجمّعة التي سيتم عرضها في جملة SELECT التي تتضمن عبارة GROUP BY. فبعد قيام عبارة GROUP BY بدمج السجلات، تعرض عبارة HAVING أية سجلات تم تجميعها بواسطة عبارة GROUP BY تستوفي شروط عبارة HAVING.
بناء الجملة
SELECT fieldlist
FROM table WHERE selectcriteria GROUP BY groupfieldlist [HAVING groupcriteria]تتكون جملة SELECT التي تتضمن عبارة HAVING من الأجزاء التالية:
الجزء |
الوصف |
fieldlist |
اسم الحقل أو الحقول التي سيتم استردادها بجانب الأسماء المستعارة للحقول أو دالات SQL التجميعية أو دالات التقييم الخاصة بالتحديد (ALL, DISTINCT, DISTINCTROW, or TOP ) أو خيارات جملة SELECT الأخرى. |
table |
اسم الجدول الذي يتم استرداد السجلات منه. |
selectcriteria |
معايير التحديد. إذا كانت الجملة تتضمن العبارة WHERE، يقوم مشغل قاعدة بيانات Microsoft Access بتجميع القيم بعد تطبيق شروط عبارة WHERE على السجلات. |
groupfieldlist |
أسماء الحقول المستخدمة لتجميع السجلات والتي يصل عددها إلى 10 حقول بحد أقصى. يحدد ترتيب أسماء الحقول في groupfieldlist مستويات التجميع من أعلى مستوى تجميع إلى أدناه. |
groupcriteria |
تعبير يحدد السجلات المجمعة المراد عرضها. |
ملاحظات
عبارة 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.