mysql - SQL多选case语句

标签 mysql sql

我可以这样做:

select 
case a.x > 1 then a.bananas else a.pajamas end 
from my_table a;

但是当我尝试像这样调整它时:

select 
case a.x > 1 then a.bananas, a.pajamas else a.strawberries, a.peaches end 
from my_table;

它说我的语法有错误。如何根据条件选择列的任意不同子集?

最佳答案

您需要为每一列单独的CASE:

SELECT
    case a.x > 1 then a.bananas else a.pajamas end as bananas_or_pajamas,
    case a.x > 1 then a.strawberries else a.peaches end as strawberries_or_peaches,
    ....

关于mysql - SQL多选case语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31425387/

相关文章:

Sql - 有多少人赚取最低和最高工资?

javascript - 执行多个查询后终止 mysql 连接

javascript - 如果先前的记录相同,则隐藏表上的结果

MySQL 按数字顺序排序

sql - 如何在 Visual Studio 中使用 SSDT 重命名表

sql - 何时使用表运算符 APPLY

sql - SQL Server 中 "is not null"和 "<> Null"之间的区别?

php - 将我的 RESTful API 仅限于我的应用程序

MySQL - 根据团队成员身份返回多个用户

mysql - 如何计算连字符之前的结果总数?