To jest uciążliwe z powodu wielu hierarchii. Proponuję:
SELECT c.id, ch.charge_amount, ch.taxes_amount
FROM Customer c LEFT JOIN
(SELECT ch.customer_id, SUM(ch.amount) as charge_amount,
SUM(t.taxes_amount) as taxes_amount
FROM Charges ch LEFT JOIN
(SELECT t.charge_id, SUM(t.amounts) as taxes_amount
FROM taxes t
GROUP BY t.charge_id
) t
ON t.charge_id = ch.id
GROUP BY ch.customer_id
) ch
ON ch.customer_id = c.id;
Nie będziesz w stanie rozwiązać tego problemu bez podzapytań w takiej czy innej formie, jeśli istnieje wiele opłat dla klienta lub wiele podatków związanych z opłatą.