Mysql SQL查询根据条件返回额外的列
我想做一个查询,根据满足的条件添加一列(我尝试了sequelize,但没有得到我想要的结果),因此我想尝试使用纯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 我还没有用案例
从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哇,非常感谢!!由于缺乏经验,我试图把事情搞得过于复杂,错过了一些基本概念。