通过SELECT进行多列动态订购
当ORDER BY基于CASE语句时,选择多个ORDER BY列的正确MS SQL语法是什么?以下对于单列工作正常,但我需要按多列进行排序:
SELECT * FROM Products
ORDER BY
CASE WHEN @SortIndex = 1 THEN Price END ASC,
CASE WHEN @SortIndex = 2 THEN Price DESC, Title ASC END 你可以试试这个
SELECT * FROM Products
ORDER BY
CASE WHEN @SortIndex = 1 THEN Price END ASC,
CASE WHEN @SortIndex = 2 THEN Price END DESC,
CASE WHEN @SortIndex = 2 THEN Title END ASC
页:
[1]