0
在stackoverflow上发布的问题与我的问题几乎相同,但我找不到任何工作解决方案。我有一个表消息和项目有:MYSQL IN子句问题
id | Message | Status
1 | Hello | 1
2 | Hiiii | 0
4 | Works | 1
我还有一个表,它给出的ID 1,2,3和我想从消息表发现所有这些条目的状态。我想要的是,如果一个ID不存在于消息表中,那么如果我使用IN子句来查找所有状态,那么它应该为该ID返回空值。我想要以下结果:
id | Status
1 | 1
2 | 0
3 | null
我一直在使用IN子句,但没有得到工作输出。然后我得到了一个解决方案在stackoverflow并试图这个查询
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
但这个查询没有给出预期的结果。任何帮助将非常感激。
感谢您的支持。但是,当我在查询结尾处添加ORDER BY FIELD(ids.ID,3,1,2)时,它不会以3,1,2顺序给出结果。对此有何帮助? –
您的'order by'子句应该可以工作。您是否在'from'子句的末尾删除了分号? –
不,我没有删除。这是按字段顺序,因为我希望输出的顺序与我在我的评论中发布的顺序相同,即3,1,2 –