Fil*_*uzi 2 sql database postgresql case sql-order-by
我想有条件地订购查询
ORDER BY
CASE
WHEN TRUE THEN users.name, users.lastname END
Run Code Online (Sandbox Code Playgroud)
但它会引发语法错误syntax error near or at ","。
下面的例子就像一个魅力
ORDER BY
CASE
WHEN TRUE THEN users.name END
Run Code Online (Sandbox Code Playgroud)
我也试过
ORDER BY
CASE
WHEN TRUE THEN "users.name, users.lastname" END
Run Code Online (Sandbox Code Playgroud)
这引发了"users.name, users.lastname"不存在
ORDER BY
CASE
WHEN TRUE THEN "users"."name", "users"."lastname" END
Run Code Online (Sandbox Code Playgroud)
这引起 syntax error at ","
如何在 ORDER BY 中的 CASE 中放置多个列?
您需要使用ROW 构造函数才能将几列组合在一起
ORDER BY
CASE
WHEN TRUE THEN ROW(users.name, users.lastname) END
Run Code Online (Sandbox Code Playgroud)
如果里面有 1 个以上的值,ROW()您可以跳过ROW关键字。这是带有语法糖的较短版本:
ORDER BY
CASE
WHEN TRUE THEN (users.name, users.lastname) END
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2037 次 |
| 最近记录: |