江国龙 发表于 2023-9-14 12:02:21

通过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]
查看完整版本: 通过SELECT进行多列动态订购