在MS SQL Server 2005中,我正在编写一个带有条件排序的查询,而我的问题是我不知道如何使用两列对条件进行排序?
如果我这样编写代码,则正常运行
select
*
from
table
order by
case @pkr
when 'kol' then kol
when 'nci' then nci
end
我不知道如何对两个或更多列进行条件排序
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
您还可以检查在ORDER BY中使用CASE .. END是否有意义?。尽管该问题是在PostgreSQL的上下文中提出的,但是大多数WRT 动态查询 vs 的注释和注意事项
—
joanolo
CASE
都可以适用于这种情况。