चूंकि आप अपनी गैर-मिलान वाली पंक्तियों के लिए शून्य मान चाहते हैं, यह LEFT JOIN
के लिए एक कार्य है , जैसे:
SELECT
t1.*,
IF(t2.`key` IS NULL, 0, COUNT(t1.`key`)) AS t2_row_count
FROM
t1
LEFT JOIN t2
ON t1.id=t2.id
AND
t1.category=t2.category
GROUP BY
t1.`key`
हम t1.key
. की गिनती कर रहे हैं क्योंकि मेल खाने वाली पंक्तियों के लिए वे पहले . में समान होंगे तालिका (और दूसरी नहीं) - इस प्रकार, हमें इसके आधार पर समूह बनाना चाहिए - न कि दूसरी तालिका में फ़ील्ड द्वारा।
टिप :अपने टेबल/कॉलम को mysql आरक्षित शब्दों के साथ नाम देने से बचें। यदि आप गलती से बैकटिक्स भूल जाते हैं तो यह आपका बहुत समय बचाएगा।