Това трябва да работи за вас:
SELECT `t1`.`id` , COUNT(`t2`.`id`) AS `count`
FROM `t1` LEFT JOIN `t2` ON `t1`.`id` = `t2`.`id`
GROUP BY `t1`.`id`
Лявото присъединяване гарантира, че имате всички редове от t1 и COUNT(t2
.id
) го кара да брои само записи, където t2.id не е null (тоест - тези, които наистина съществуват в t2)