如果where子句未填滿,我不希望查詢選擇任何內容,但也許我錯過了某些內容。以下是我使用如何在mysql中使用左連接
SELECT one.id_user, integration, data
FROM tableOne one
LEFT JOIN tableTwo two ON two.id_user = one.id_user
AND two.integration IN ('office', 'Office')
WHERE one.state='NEW' OR one.state='PAUSED'
AND two.integration IN ('office', 'Office')
GROUP BY one.id_user
查詢的記錄被插入與整合「someValue中」所需的表,而不是「辦公室」或「辦公室」,這意味着在那裏聖誕老人不應該是真實和查詢不應該返回任何東西,但它確實如此。它將id_user和其餘字段返回爲null。
但是,如果集成不是「辦公室」或「辦公室」,即使選擇id_user也不行。
有人能告訴我請問我做錯了什麼?
你的問題是什麼?並且請以實例闡明... –
不要在where子句中的右側表(tableTwo)上添加條件,移動到ON子句以獲得真正的左連接行爲。 (因爲它現在作爲一個普通的內部連接來執行。)編輯:已經存在,所以只需從哪裏刪除。 – jarlh
嘗試將OR替換爲AND:one.state ='NEW'或one.state ='PAUSED' – tharif