複数の学生登録レコードの最大グレードを見つけるには、グレード12が「より高い」場合でもKGとPSのようなアルファグレードがmaxとして表示されます。非数値の等級を00に設定する方法はありますか?最大では表示されません(学生が非数値の学年にのみ登録されている場合を除きます)。私は以下を試してコンパイルすることさえできません。コンパイラは、 "いつではない"のが好きではありません。過去10年間、KGから09年に登録した学生の場合は、最大グレードレベルとして09を見たいと思っています。Maxの前後のフィールドの値を変更します
DECLARE @grade char(2);
SET @grade='00'
Select
SD.[Student_Number] as [Student_Number],
Max (SE.[Grade_Level]) as [Grade_Level],
CASE SE.[Grade_Level]
when not in ('01','02','03','04','05','06','07',''08',''09','10','11','12')
then @grade
else (SE.[Grade_Level])
End
From
Student_DemographicsCube as SD WITH (NOLOCK),
Student_EnrollmentCube as SE WITH (NOLOCK)
Where
SD.[Student_ID] = SE.[Student_ID]
Group By
SD.[Student_Number]
Order By
SD.[Student_Number]
優れています...私はあなたの答えを使用して、今は期待どおりに動作しています!ありがとうございました ! –