T-SQLで行を手動で配置する方法は?
次のような順序で表の結果があります。
- わからない
- チャーリー
- デイブ
- リサ
- メアリー
しかし、期待される結果は次のようになります。
- チャーリー
- デイブ
- リサ
- メアリー
- わからない
編集:
私の全体のクエリは次のとおりです。
select (case when s.StudentID is null then 'Unknown' else s.StudentName end) as StudentName from Period pd full join Course c on pd.TimeID = c.TimeID full join Student s on c.StudentID = s.StudentID
group by s.StudentName, s.StudentID
order by case s.StudentName
when 'Charlie' then 1
when 'Dave' then 2
when 'Lisa' then 3
when 'Mary' then 4
when 'Unknown' then 5
end
しかし、うまくいきませんでした。StudentIDがnullの場合、「NULL」を「Unknown」に変更するというクエリで書いたように、UnknownはNULL値からのものであるため、問題の根源だと思います。これは結果の「頑固な」順序に影響していますか? ちなみに、私も試しorder by s.StudentName asc
ましたがうまくいきませんでした。
ありがとうございました。