Inny sposób na zrobienie tego (nie przetestowano, więc daj mi znać, jeśli wybuchnie):
SELECT emp.id, IF(emp.statue=1, c.sumCome, 0) AS sumCome, l.sumLeave
FROM emp
LEFT JOIN (SELECT uid, SUM(money) AS sumCome
FROM come
GROUP BY uid
) c ON emp.id = c.uid
LEFT JOIN (SELECT uid, SUM(money) AS sumLeave
FROM leave
GROUP BY uid
) l ON emp.id = l.uid
Nie wiem, który będzie szybszy w porównaniu do Kevina. Możesz chcieć explain
oboje i zobaczyć.