堆叠溢出上有很多问题,与我的问题差不多,但我没有找到有效的解决方案。我有一个表消息,条目如下:
id | Message | Status
1 | Hello | 1
2 | Hiiii | 0
4 | Works | 1我有另一个表,它提供I 1、2、3,我希望从消息表中查找所有这些条目的状态。我想要的是,如果在消息表中不存在id,那么如果我使用in子句查找所有状态,那么它应该返回该id的null。我希望得到以下结果:
id | Status
1 | 1
2 | 0
3 | null我一直在使用IN子句,但没有得到工作输出。然后我找到了一个关于堆栈溢出的解决方案,并尝试了这个查询。
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但是这个查询并没有给出预期的结果。任何帮助都将不胜感激。
发布于 2014-02-26 20:01:45
我看不出你的查询是怎么工作的。列id在select中应该是不明确的(除非数据库区分大小写)。试试这个:
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;https://stackoverflow.com/questions/22051956
复制相似问题