SELECT t1.id, COALESCE(q2.`count`,0) `Б`, COALESCE(q3.`count`,0) `В`
FROM `Таблица А` t1
LEFT JOIN (SELECT t2.id, SUM(t2.`count`) `count`
FROM `Таблица Б` t2
GROUP BY t2.id
) q2 ON t1.id = q2.id
LEFT JOIN (SELECT t3.id, SUM(t3.`count`) `count`
FROM `Таблица В` t3
GROUP BY t3.id
) q3 ON t1.id = q3.id
SELECT A.id, COALESCE(B.count, 0), COALESCE(C.count, 0) FROM A
LEFT JOIN (
SELECT id, SUM(count) as count
FROM B GROUP BY id
) as B ON A.id = B.id
LEFT JOIN (
SELECT id, SUM(count) as count
FROM C GROUP BY id
) as C ON A.id = C.id
COALESCE в данном случае заменит значения `null` на 0.
2 个回答