我通过settings
表中的设置订购,我希望使用此选项更改order by
,在下面的sql命令中,如果sortable
字段为{{1},我想使用此选项如果settings
为2则必须为ORDER BY DATE
,则必须为sortable
。
请帮我正确的sql命令
MYSQL:
ORDER BY ID
答案 0 :(得分:3)
注意回答略有变化。
将ORDER BY
放在<{1}}之外,如下所示:
CASE
请注意,仅当... the first part of the query, then ...
ORDER BY
CASE (SELECT sortable FROM settings)
WHEN 1 THEN topic_date
WHEN 2 THEN id
WHEN 3 THEN public
END
LIMIT 10
返回一个行时,此功能才有效。如果它返回多行,则会出错。如果它返回零行,则不会出现错误,但不会选择任何排序选项 - 它与说(SELECT sortable FROM settings)
相同。