- ベストアンサー
T-SQL 優先順によるデータの抽出
こんにちは。 あるテーブル"T_TABLE"に項目がC1(主キー)、C2が有り、データが以下のように登録されていた場合、 |C1|C2| ------| |BB|XX| ------| |AA|XY| ------| |DD|XZ| ------| とあった場合、 カラムC2に"XY"の値を含む行を第一に優先し、同カラムに"XZ"を含む行を第2に優先し、同カラムに"XX"を含む行を第3に優先して抽出するにはどのようにすればよいのでしょうか? 抽出するイメージは XY XZ XZ の順です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでどうでしょうか。 select C1, C2 from T_TABLE order by case when C2 = 'XY' then 1 when C2 = 'XZ' then 2 when C2 = 'XX' then 3 else 4 end, C1; SQL Serverの環境がないので動作確認はしていません。