۰۹۳۶۴۲۴۵۱۳۸

دستور Having در اکسس

دستور Having در اکسس

اگر تا کنون کوئری ایجاد کرده باشید حتما با کاربرد شرط در کوئری آشنا شده اید و سعی کرده اید در پروژه ها خود از آن استفاده کنید. در حالت عادی شرط را در بخش Criteria از کوئری می نویسیم یا اینکه در کدنویسی SQL از دستور WHERE استفاده می کنیم. اما زمانی که از توابع تجمعی مانند Sum یا Avg استفاده می کنیم آنگاه برای شرط باید از دستور Having استفاده کرد.

ایجاد شرط در کوئری

در جلسات قبل یک کوئری ایجاد شد که معدل دانش آموزان را محاسبه کردیم. کوئری را در نمای Design باز کنید.

ایجاد کوئری

 

خروجی این کوئری به صورت زیر است.

کوئری معدل

 

حال فرض کنید بخواهیم معدل افرادی را مشاهده کنیم که تعداد واحدهای خاصی دارند. برای قرار دادن شرط در SQL از دستور Where استفاده می کردیم. اکنون کوئری را در نمای SQL باز کرده و تغییرات را به صورت زیر انجام دهید.

کوئری معدل در نمای sql

 

کوئری را اجرا می کنیم. پیغام خطای زیر مشاهده می شود.

خطای اجرای کوئری

 

علت خطا استفاده از دستور Where است. در اینجا چون از توابع تجمعی (Sum) استفاده شده است بنابراین نمی توان از Where استفاده کرد و باید از Having برای شرط استفاده شود. کوئری را به صورت زیر تغییر دهید.

تغییر کوئری در نمای sql

 

کوئری را اجرا کنید. اگر خروجی نداشته باشد احتمالا به دلیل این است که دانش آموزی با تعداد واحد بیشتر از ۱۰ واحد نداریم. شرط را تغییر دهید. مثلا به جای ۱۰ واحد ۵ واحد را وارد کنید.

اکنون کوئری را در نمای Design باز کنید.

تغییر شرط در نمای design

 

می توانستیم شرط را در قسمت Criteria وارد کنیم و لزومی ندارد که در حتما در نمای SQL دستور بنویسیم.

 

فیلم آموزشی دستور Having در اکسس

برای اینکه خیلی خوب کوئری Having را در اکسس یاد بگیرید حتما فیلم آموزشی زیر را تماشا کنید.

 

ارسال دیدگاه