我正在爲拍賣網站設置一個新的數據庫方案,並試圖發送電子郵件給用戶,以便他們查找特定項目的時間已過帳。我有三個表:Complex-ish MySQL查詢
auctions
由用戶發佈 - 每一個項目在這裏得到一個條目的標題,一個googleID,目前的出價等
alerts
- 這些由用戶設置和它們包括哪些用戶已提醒哪些項目,使我們不警惕,他們正在尋找項目的googleID,他們的用戶ID,一個能布爾和時間戳
notifications
-this跟蹤山姆每次運行cron.php時,用戶都會對同一個項目進行操作。包含警報ID和
所以我試圖創建一個選擇下面的查詢拍賣ID:
- 警報在
alerts
表啓用 - googleID在
alerts
表中auctions
表 匹配googleID
- 拍賣未關閉
auctions
表 - 提醒編號&拍賣ID在
notifications
表中不相同排(這是我遇到麻煩的部分。我需要確保一個拍賣ID可以有多個警報發出,但絕不會向任何用戶多次拍賣)
這是我到目前爲止的查詢,但我真的陷入了困境在最後一部分,我已經看到無處不在,我可以爲此想到。希望我已經解釋了我自己,讓我知道如果任何澄清將幫助和提前感謝!
$sql = "SELECT a.user, b.id, b.title, b.googleimg, b.authors
FROM alerts a, auctions b, notifications c
WHERE a.googleID = b.googleid AND a.enabled = 'y' AND b.closed = 0 AND ????";
這給了我空的結果,但如果我將最後一行更改爲NOT NULL,我完全和我試圖達到的結果相反。有任何想法嗎?再次感謝 – 2012-03-17 00:28:58
此外,爲了澄清,我試圖做的是類似於:http://stackoverflow.com/questions/4585225/mysql-opposite-of-inner-join 但是,我希望能夠爲每個用戶多次發送電子郵件,只要它是一個不同的拍賣ID,換句話說,每個用戶只能被標識一次每個拍賣ID – 2012-03-17 00:31:45
如果你得到一個空的結果,這是因爲你有所有拍賣警報的通知條目。如果您確定不是這種情況,請發佈具體示例。 – nnichols 2012-03-17 00:49:05