שאלה קצרה בSQL

nocgod

New member
שאלה קצרה בSQL

אני מכין קצת שיעורי בית בSQL, משום מה השאילתה לא כל כך עובדת. בחלקים היא עובדת (כן סופרת את המטוסים, כן מוצאת את המקסימום) אבל תמיד אני מקבל את השגיאה

ORA-00904: "CO": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 276 Column: 8

שורה 276 זה השורה של הhaving

select p.model, count(p.plane_reg_num) as co
from airplanes p
group by p.model
having co = (select max(c)
from (select t.model, count(t.plane_reg_num) as c
from airplanes t
group by t.model));


(עשיתי הזחות זה לא מעתיק אותו כמו שצריך משום מה)
 

nocgod

New member
אתה צודק... זה היה הפיתרון שמצאתי

היה לי מוזר שלא הצלחתי להתשמש בalias שנתתי... אבל ככה זה...:)
 
הסיבה שא"א אפשר להשתמש בalias

היא שמבחינה לוגית הgroup by קורה לפני הselect. בחירת העמודות זה השלב האחרון (חוץ מorder cy) ועדיין לא הוגדר הalias בשלב זה.
 
למעלה