我在 SQL Server 中有一个表,我需要在其中选择根据值排序的数据。例如,
如果排序值为1,那么我需要先按column1、column2再column3排序。
如果排序值为2,那么我需要按column2,column1,column3排序。
如果排序值为3,那么我需要按column3、column1、column2排序。
谁能告诉我如何在不使用 if else 的情况下在 SQL 中实现这一点,如下所示:
IF @SortOrder = 1
THEN
SELECT *
FROM table
ORDER BY c1, c2, c3
END
IF @SortOrder = 2
THEN
SELECT *
FROM table
ORDER BY c2, c1, c3
END
IF @SortOrder = 3
THEN
SELECT *
FROM table
ORDER BY c3, c1, c2
END