Mysql SQL查询根据条件返回额外的列

Mysql SQL查询根据条件返回额外的列,mysql,sql,sequelize.js,Mysql,Sql,Sequelize.js,我想做一个查询,根据满足的条件添加一列(我尝试了sequelize,但没有得到我想要的结果),因此我想尝试使用纯SQL,因为它没有那么多限制 例如: 从db.messages中选择*,其中user\u id=userID或$contacts.user\u id$=userID 如果第一个条件为“满足”,我想添加一列,如: SELECT*,“type”作为db.messages中的“收件箱” 第二个条件: SELECT*,“type”作为“Send”FROM db.messages 我还没有用案例

我想做一个查询,根据满足的条件添加一列(我尝试了sequelize,但没有得到我想要的结果),因此我想尝试使用纯SQL,因为它没有那么多限制

例如:
从db.messages中选择*,其中user\u id=userID或$contacts.user\u id$=userID

如果第一个条件为“满足”,我想添加一列,如:

SELECT*,“type”作为db.messages中的“收件箱”

第二个条件:

SELECT*,“type”作为“Send”FROM db.messages

我还没有用
案例实现它…然后

如有任何意见,我将不胜感激

SQL案例语句:

SELECT *,
CASE
    WHEN user_id = userID THEN 'Inbox'
    WHEN $contacts.user_id$ = userID THEN 'Send'
    ELSE NULL
END AS type
FROM db.messages;

case语句的语法似乎无效,请检查。与此相反:

select
    case
        when a = x then 'a' as result
        when b = x then 'b' as result
        else null
    end as y
from table_name
试试这个:

select
    case
        when a = x then 'a'
        when b = x then 'b'
    end as 'result'
from table_name
或者更简单:

select
    case x
        when a then 'a'
        when b then 'b'
    end as 'result'
from table_name 

您既不能在SQL中也不能使用Sequelize为不同的记录添加不同的列。如果这些条件不在查询本身的范围内,那么您可以在SequelizeCan中实现这一点,您可以提供您尝试查看的案例陈述。我不明白你为什么不能用一个案例来做你所建议的事情。唯一棘手的部分是,如果用户向自己发送电子邮件,您希望返回什么?我希望它是可行的,因为在Select query in中会添加一个新列,如中。我在MySQLWorkbench中尝试过它。当用户向自己发送邮件时,会键入InboxOH哇,非常感谢!!由于缺乏经验,我试图把事情搞得过于复杂,错过了一些基本概念。