मैं कुछ ऐसा चुनूंगा:
SELECT
c.id AS campaign_id,
COUNT(cc.id) AS code_count
FROM
campaigns c
LEFT JOIN campaign_codes cc on cc.campaign_id = c.id
AND cc.status = 0 -- Having this clause in the WHERE, effectively makes this an INNER JOIN
WHERE c.partner_id = 4
GROUP BY c.id
AND
को स्थानांतरित करना जॉइन क्लॉज में शामिल होने को सफल या असफल बनाता है, महत्वपूर्ण रूप से परिणामी पंक्तियों को रखते हुए जहां 'दाएं' तालिका में कोई मिलान पंक्ति नहीं है।
अगर यह WHERE
. में होता , NULL (जहां कोई अभियान_कोड नहीं है) से तुलना विफल हो जाएगी, और परिणामों से हटा दी जाएगी।