• ベストアンサー

T-SQL 優先順によるデータの抽出

こんにちは。 あるテーブル"T_TABLE"に項目がC1(主キー)、C2が有り、データが以下のように登録されていた場合、 |C1|C2| ------| |BB|XX| ------| |AA|XY| ------| |DD|XZ| ------| とあった場合、 カラムC2に"XY"の値を含む行を第一に優先し、同カラムに"XZ"を含む行を第2に優先し、同カラムに"XX"を含む行を第3に優先して抽出するにはどのようにすればよいのでしょうか? 抽出するイメージは XY XZ XZ の順です。

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.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の環境がないので動作確認はしていません。

関連するQ&A