当ORDER BY基于CASE语句时,选择多个ORDER BY列的正确MS SQL语法是什么?0 c2 w( H: A8 l' m Z% g3 ~! @
以下对于单列工作正常,但我需要按多列进行排序: 7 X4 @6 L7 k6 {- y0 K4 ]4 E! fSELECT * FROM Products* j: J/ X/ u! r. F) N: k+ C0 |
ORDER BY ' M1 V9 V$ B3 q7 V$ p! y+ r
CASE WHEN @SortIndex = 1 THEN Price END ASC, / k. `. v1 W3 u' |6 q, K( _. b6 pCASE WHEN @SortIndex = 2 THEN Price DESC, Title ASC END 你可以试试这个 1 m3 j; W+ A' M2 P# [SELECT * FROM Products5 Q) k" p- {6 s9 ?! |
ORDER BY 8 u4 @0 L* i6 T- [ e% q
CASE WHEN @SortIndex = 1 THEN Price END ASC, * y6 T0 X' ~; S/ `' HCASE WHEN @SortIndex = 2 THEN Price END DESC, , o8 [8 Y2 \1 _7 u: \& M: L7 }CASE WHEN @SortIndex = 2 THEN Title END ASC