【发布时间】:2019-03-11 14:40:06
【问题描述】:
我编写了一个查询,其中我有一个条件来按如下所示按单顺序按多列对数据进行排序。
ORDER BY Column1 ASC, Column2 ASC, Column3 ASC
或
ORDER BY Column1 DESC, Column2 DESC, Column3 DESC
我想通过如下表达式按条件顺序编写上述排序
ORDER BY
CASE WHEN @SortExpression = 'Id ASC' THEN Id END ASC,
CASE WHEN @SortExpression = 'Id DESC' THEN Id END DESC,
CASE WHEN @SortExpression = 'Status ASC' THEN Status END ASC,
CASE WHEN @SortExpression = 'Status DESC' THEN Status END DESC,
CASE WHEN @SortExpression = 'Country ASC' THEN Country Asc, City Asc, Zip Asc END,
CASE WHEN @SortExpression = 'Country DESC' THEN Country DESC, City DESC, Zip DESC END
但上面的查询给出了语法错误。谁能帮我找出解决问题的方法?
【问题讨论】:
标签: sql asp.net sql-server database sql-server-2012