dkhatibi
چهارشنبه 12 دی 1386, 17:32 عصر
کوئری زیر را به کار برده ام.
select SQ.Class_name,max(moadel)as maxmoadel from
(select AVG(nomreh) as moadel,Nc.St_no,Cst.class_code,cn.Class_name from
Nomreh_class nc,Class_st Cst, Class_name cn where
nc.st_no=Cst.st_no and cn.class_code=Cst.class_code
Group By nc.St_no,cst.Class_code,cn.class_name)SQ group by SQ.class_Name
هدف یافتن ماکسیمم معدل هر کلاس می باشد به گونه ای که بتونم شماره دانشجویی فرد
ماکسیمم شده را هم داشته باشم. برای این کار در اولین select الزاما باید Sq.St_no را هم
اضافه کنم که چون تو Group By اخری نیامده خطا می ده.
اگز اونو به Group By اخری اضافه کنم هم جواب مورد نظر به دست نمی آد. جواب همون
جوابی است که فقط از SubQuery به دست می آد.(دلیلش هم معلومه) برای رفع این مشکل
با استفاده از کوئری ها به این شکل راهی هست؟
select SQ.Class_name,max(moadel)as maxmoadel from
(select AVG(nomreh) as moadel,Nc.St_no,Cst.class_code,cn.Class_name from
Nomreh_class nc,Class_st Cst, Class_name cn where
nc.st_no=Cst.st_no and cn.class_code=Cst.class_code
Group By nc.St_no,cst.Class_code,cn.class_name)SQ group by SQ.class_Name
هدف یافتن ماکسیمم معدل هر کلاس می باشد به گونه ای که بتونم شماره دانشجویی فرد
ماکسیمم شده را هم داشته باشم. برای این کار در اولین select الزاما باید Sq.St_no را هم
اضافه کنم که چون تو Group By اخری نیامده خطا می ده.
اگز اونو به Group By اخری اضافه کنم هم جواب مورد نظر به دست نمی آد. جواب همون
جوابی است که فقط از SubQuery به دست می آد.(دلیلش هم معلومه) برای رفع این مشکل
با استفاده از کوئری ها به این شکل راهی هست؟