私は使用MySQL 5.1
していて、必要なものを表示できないクエリの上に座っています。
私は2つのテーブルを持っています。
#table 1 - auth tokens
sellerId
zip
token
#table 2 - authenticated attempts
sellerId
buyerId
buyer_zip
buyer_submitted_token
2 番目の表には、認証のすべての試行 (成功または失敗) が含まれます。
zip matches buyer_zip
ここで、テーブル 1 のすべてのレコード (送信された zip とトークン) を、この組み合わせによる認証が成功したかどうか (成功はと)に関する情報と共に表示したいと考えていますtoken matches buyer_submitted_token
。
問題は、それを機能させることができないことです。
これが私がやっていることです:
SELECT z.buyer_id,
z.seller_id
z.buyer_submitted_token
z.buyer_zip
k.token,
k.zip
FROM table_1 AS z
LEFT JOIN table_2 AS k
ON k.buyer_id= "12345"
AND k.zip = z.buyer_zip
AND k.token = z.buyer_submitted_token
WHERE z.seller_id = "12345"
LIMIT 0, 50
これにより、table_1 のセラーのすべてのレコードが返されますが、これで問題ありません。追加したいのは、利用可能な組み合わせが正常に使用されているかどうか =表 2 のレコードz.buyer_zip
とz.buyer_submitted_token
一致するかどうかです。
質問:
フィールド値 A および B を持つレコードが別のテーブルに一致するレコードを持っているかどうか、MySQL でチェックするにはどうすればよいですか?