質問: t-sql 優先順によるデータの抽出 こんにちは。 あるテーブル"t_table"に項目がc1(主キー)、c2が有り、データが以下のように登録されていた場合、 |c1|c2| ------| |bb|xx| ------| |aa|xy| ------| |dd|xz| ------| とあった場合、 カラムc2に"xy"の値を含む行を第一に優先し、同カラムに"xz"を含む行を第2に優先し、同カラムに"xx"を含む行を第3に優先して抽出するにはどのようにすればよいのでしょうか? 抽出するイメージは xy xz xz の順です。
回答: こんな感じでどうでしょうか。 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の環境がないので動作確認はしていません。