MS SQL Server 2005では、条件付き並べ替えを使用して1つのクエリを作成していますが、2つの列を使用して条件付き並べ替えを行う方法がわかりません。
私がこのようなコードを書いた場合、それは正常に動作しています
select
*
from
table
order by
case @pkr
when 'kol' then kol
when 'nci' then nci
end
2つ以上の列の条件付き順序を作成する方法がわかりません
select
*
from
table
order by
case @pkr
when 'KOL-NCI' then kol,nci
when 'kol-MPCI' then kol,mpci
end
動的TSQLを作成して使用するアイデアがありますが、sp_executesql
まだより良いアイデアを探していますか?
ORDER BY CASE式
—
gbn
また、CASE .. ENDをORDER BYに含めるのは理にかなっていますか?。その質問は、PostgreSQLののコンテキストで提起されましたが、コメントや注意事項WRTのの最もダイナミックなクエリー対は、
—
joanolo 2017年
CASE
この場合にも適用することができます。