0

私は使用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_zipz.buyer_submitted_token一致するかどうかです。

質問:
フィールド値 A および B を持つレコードが別のテーブルに一致するレコードを持っているかどうか、MySQL でチェックするにはどうすればよいですか?

4

1 に答える 1

0

ここで問題が発生する可能性があります:

ON k.buyer_id= "12345"

私の理解では、フィールドをリンクする必要があります

ON k.sellerId = z. sellerId
于 2013-03-05T20:32:42.317 に答える