嗨:努力只檢索我的marketingImport表中不存在於我的hardBounce表中的那些電子郵件。MySQL(OSX)LEFT JOIN不按預期方式工作
我嘗試了各種方法到左連接,但我總是得到整個marketingTable(全部300K記錄)。我應該只能獲得大約220K條記錄,因爲我的hardBounce表中存在大約80K個'不好'的電子郵件:這些郵件應該從我的結果中排除。
我也嘗試用AND替換(使它成爲ON子句的一部分),但得到了相同的結果。
這是我的SQL:
SELECT marketingImport.email FROM marketingImport
LEFT JOIN hardBounce ON marketingImport.email = hardBounce.email
WHERE hardBounce.email IS NULL;
表:
-marketingImport包含字段 '電子郵件',這是一個varchar(255),可爲空指數
-hardBounce包含一個單場'email'是一個varchar(255),可爲空的UNIQUE索引(不是PK)
我錯過了什麼?我確實閱讀過所有帖子......而我的眼睛正在澆水......
謝謝。
似乎所有建議的方法都會從右表中返回所有記錄,忽略NOT IN/NOT EXISTS/IS NULL條件。使用NOT IN,然後LEFT JOIN,然後不存在---但是我仍然沒有得到我的結果:(。 –
神祕解決了。看起來我的hardBounce表的電子郵件字段在所有80K中都添加了'0D'記錄,因此一致的感知故障,這個附件可能發生在導出/ CSV /導入過程中I使用REPLACE子句更新所有行然後,下面的所有建議都奏效了,謝謝你的幫助,我堅持使用LEFT JOIN,現在按照廣告標準工作(在MySQL上)。Whew ... –
這非常好聽,我認爲它一定是一個數據問題,因爲下面的兩個查詢不起作用!)很高興你已經得到它排序... LEFT JOIN可能是一個很好的選擇。 – Nerdwood