いくつかの条件でLEFT JOINクエリを作成しようとしていますが、それは不思議なことです。LEFT JOIN条件は結果に影響しません。
SELECT c.country_id, c.country_name, IFNULL(MAX(b.bid_amount),0)
FROM countries AS c
LEFT JOIN items_bids AS b
ON c.country_id = b.bid_country_id
AND b.bid_removed = 0
LEFT JOIN advertisers AS a
ON a.advertiser_id = b.bid_advertiser_id
AND a.advertiser_balance > 0
AND a.advertiser_review = 0
LEFT JOIN items AS n
ON b.bid_item_id = n.item_id
AND n.item_approved = 1
AND n.item_deleted = 0
AND n.item_paused = 0
GROUP BY c.country_name
それは、これと同じ結果を持っている:それは、ON句の条件のいずれかによって作用されていない
SELECT c.country_id, c.country_name, IFNULL(MAX(b.bid_amount),0)
FROM countries AS c
LEFT JOIN items_bids AS b
ON c.country_id = b.bid_country_id
LEFT JOIN advertisers AS a
ON a.advertiser_id = b.bid_advertiser_id
LEFT JOIN items AS n
ON b.bid_item_id = n.item_id
GROUP BY c.country_name
私はそれは、異なる結果でなければなりません確信しているかの理由私はこれらの条件をON節の代わりにWHERE節に入れます。これは効果があります。
私は左のジョインを使用しています。なぜなら、結果から国を削除したくないからです。
を試してみてください、あなたは、予想される結果とのデータの小さなサンプルを含めることはできますか? –