首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL IN Clause问题

MYSQL IN Clause问题
EN

Stack Overflow用户
提问于 2014-02-26 19:58:15
回答 1查看 43关注 0票数 0

堆叠溢出上有很多问题,与我的问题差不多,但我没有找到有效的解决方案。我有一个表消息,条目如下:

代码语言:javascript
复制
id | Message | Status
1  |  Hello  |  1
2  |  Hiiii  |  0
4  |  Works  |  1

我有另一个表,它提供I 1、2、3,我希望从消息表中查找所有这些条目的状态。我想要的是,如果在消息表中不存在id,那么如果我使用in子句查找所有状态,那么它应该返回该id的null。我希望得到以下结果:

代码语言:javascript
复制
id | Status
1  | 1
2  | 0
3  | null

我一直在使用IN子句,但没有得到工作输出。然后我找到了一个关于堆栈溢出的解决方案,并尝试了这个查询。

代码语言:javascript
复制
SELECT `id`,`status` FROM ( SELECT 1 AS ID UNION ALL SELECT 2 AS ID UNION ALL SELECT 3) ids LEFT OUTER JOIN message ON ids.ID = message.id

但是这个查询并没有给出预期的结果。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-26 20:01:45

我看不出你的查询是怎么工作的。列idselect中应该是不明确的(除非数据库区分大小写)。试试这个:

代码语言:javascript
复制
SELECT ids.ID, m.status
FROM ( SELECT 1 AS ID UNION ALL SELECT 2 AS ID UNION ALL SELECT 3
     ) ids LEFT OUTER JOIN
     message m
     ON ids.ID = m.id;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22051956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档