こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

こんにちは。

あるテーブル"T_TABLE"に項目がC1(主キー)、C2が有り、データが以下のように登録されていた場合、

|C1|C2|
------|
|BB|XX|
------|
|AA|XY|
------|
|DD|XZ|
------|

とあった場合、
カラムC2に"XY"の値を含む行を第一に優先し、同カラムに"XZ"を含む行を第2に優先し、同カラムに"XX"を含む行を第3に優先して抽出するにはどのようにすればよいのでしょうか?

抽出するイメージは
XY
XZ
XZ
の順です。

投稿日時 - 2012-11-14 14:18:20

QNo.7797279

すぐに回答ほしいです

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

こんな感じでどうでしょうか。

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の環境がないので動作確認はしていません。

投稿日時 - 2012-11-14 15:03:01

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-