Đây là một khó khăn vì có nhiều thứ bậc. Tôi muốn đề nghị:
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;
Bạn sẽ không thể khắc phục điều này nếu không có các truy vấn phụ dưới dạng này hay dạng khác, nếu có nhiều khoản phí cho một khách hàng hoặc nhiều loại thuế trên một khoản phí.