私はこれと数時間戦っていますが、適切な MySQL 構文を使用するのに苦労しています。私が探している種類の SQL に関するポインタは、非常に高く評価されます。
これらの 2 つの単純なテーブルを検討してください。
purchase:
id email product_id
1 andy@aaa.com 1
2 bob@bar.com 2
3 charly@code.com 1
4 charly@code.com 2
subscriber:
id email name
1 andy@aaa.com Andy
2 bob@bar.com Bob
3 charly@code.com Charly
product_id 1 を購入しなかったサブスクライバーを選択したいと思います。つまり、この場合、ボブの行のみを返す必要があります。
しかし、私は現在これを使用しています...
SELECT DISTINCT subscriber.*
FROM subscriber
LEFT OUTER JOIN purchase
ON subscriber.email = purchase.email
WHERE ( purchase.product_id <> 1 )
...これはこれを返します:
id email name
2 bob@bar.com Bob
3 charly@code.com Charly
「購入」テーブルに 2 回表示されるユーザーのケースを処理する必要があることは理解しています。どうやってやるの?
ポインタをありがとう!
ファビアン