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 –