這裏是我的表結構:mySQL複雜SELECT查詢?
users:
id | email
emails:
id | subject | body
user_emails:
user_id | email_id
這是非常簡單的設計。但是,我需要爲user_emails中沒有關聯的所有users.id選擇第一個(最低)emails.id。
爲了說明:
users:
id | email
1 | [email protected]
2 | [email protected]
3 | [email protected]
emails:
id | subject | body
1 | sub1 | body1
2 | sub2 | body2
user_emails:
user_id | email_id
1 | 1
1 | 2
2 | 1
作爲數據顯示:
- 用戶1接收到的電子郵件1和2已經如此選擇應排除 該用戶。
- 用戶2只接收到的電子郵件1,所以應該選擇用戶2 和電子郵件2.
- 用戶3沒有收到任何電子郵件,所以應該選擇用戶3 和電子郵件1.
我將在PHP中這樣做,所以任何邏輯都應該用PHP編寫,如果不能用mySQL完成的話。
在此先感謝
編輯:我也許應該提到,將有成千上萬的用戶ID和數百個電子郵件ID的的。發送所有這些電子郵件的腳本將每天運行一次。所以,這應該儘可能優化。
請閱讀LEFT JOIN。 –
我有,但我不是很熟悉mySQL,它讓我感到困惑。 –
你的答案應該貼出來,然後你應該接受一個答案。 :-) –