して、Oracle SQLグループ:私は私が私のSQLクエリで使用したい3つのデータベーステーブルを、持っているアッパー
問題は、私がMYMAINSCHEMAで見つかった「学校名」の値にGROUP BYをしたいです。 SURVEYテーブル。ただし、「学校名」は大文字または小文字にすることがあります。上記の "BY式ではないGROUP" 私にエラーを与えて実行
select SR.SCHOOL_NUM,UPPER(S.SCHOOLNAME), COUNT(S.SWSID) AS NUMSTUDENTS
from MYMAINSCHEMA.SURVEY S
JOIN MYOTHERSCHEMA.SCHOOL_RTO SR ON S.SCHOOLCODE = SR.SCHOOL_NUM
JOIN MYOTHERSCHEMA.RTO R ON R.RTO_NUM = SR.RTO_NUM
GROUP BY SR.SCHOOL_NUM,UPPER(S.SCHOOLNAME)
ORDER BY S.SCHOOLNAME ASC;
:
は、ここに私のSQLです。 最後の1行目と2行目でUPPERを削除しても問題ありませんが、結果は重複したSCHOOL名を返します(大文字と小文字の両方)。
この問題を解決する方法はありますか?
ありがとうございました。
ありがとうございました、それは確かに問題を引き起こしたBY ORDERました。私は "GROUP BY式ではない"というエラーメッセージによって捨てられました。これは、GROUP BYのORDERよりも何かが間違っていることを暗示していました。 – Ghaml
上記のような状況では、ORDER BY句に列番号を指定することもできます。この場合、「ORDER BY 2 ASC」は完全に許容可能である。 –