Toto by vám mělo fungovat:
SELECT `t1`.`id` , COUNT(`t2`.`id`) AS `count`
FROM `t1` LEFT JOIN `t2` ON `t1`.`id` = `t2`.`id`
GROUP BY `t1`.`id`
Levé spojení zajišťuje, že máte všechny řádky od t1 a COUNT(t2
.id
) započítává pouze záznamy, kde t2.id není null (tedy ty, které v t2 skutečně existují)