products
、buyers
およびの3 つのテーブルがありratings
ます。
購入者は i 製品を評価でき、これは評価の行として保存され (buyer_id
とproduct_id
)、購入者は 1 つの製品 (購入者ごとに最大 1 つのお気に入りの製品) をお気に入りとしてマークできます ( のバイナリ フラグratings
)。
私はすべてのバイヤーのレポートを持っており、レポートの各行にバイヤーのお気に入りの製品の名前を追加したいと考えています (彼が持っている場合)、私はこれを試しました:
SELECT b.*, p.name
FROM buyers b, products p
LEFT JOIN ratings r
ON r.buyer_id = b.id
and r.product_id = p.id
and r.isFav=1
残念ながら、これはエラーをスローします (「on 句」の不明な列「b.id」)。だから私はそれについて間違った方向に進んでいると感じています。必要なことを達成するのに役立つものはありますか?