SELECT `a`.`name`, `b`.`total`, `c`.`unread`
FROM `table1` AS `a`
LEFT JOIN (SELECT `table1_id`, `COUNT(*) AS `total`
FROM `table2`
GROUP BY `table1_id`) AS `b` ON `b`.`table1_id` = `a`.`id`
LEFT JOIN (SELECT `table1_id`, COUNT(*) AS `unread`
FROM `table2`
WHERE `read` = 0
GROUP BY `table1_id`) AS `c` ON `c`.`table1_id` = `a`.`id`
WHERE `a`.`user_id` = 1;