Vah*_*iri 2 sql-server sql-server-2008
我想在Order By子句中使用Case When但我想在多个列上对结果集进行排序.当我使用以下语法时,我得到语法错误.
Select * From MyTable
ORDER BY
CASE
WHEN @ColumnName='NameAndId' THEN Name,Id
WHEN @ColumnName='TitleAndId' THEN Title,Id
END Desc
Run Code Online (Sandbox Code Playgroud)
有谁知道正确的语法?
谢谢
您的案例只在两者之间切换Name
,Title
因此您可以移出Id
case语句.
不确定要申请的地方desc
.这将按顺序Name
或Title
下降顺序排列,并且将按Id
升序排序.
Select * From MyTable
ORDER BY
CASE
WHEN @ColumnName='NameAndId' THEN Name
WHEN @ColumnName='TitleAndId' THEN Title
END Desc, Id
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2700 次 |
最近记录: |