我的查询返回了 2 个子表中 2 列的错误总和,我在 google 上进行了搜索,也查看了 stackoverflow 上的建议,但它们从未起作用。
si_invoices
-----------------------------
id, date
1, 2014-05-07
si_invoice_items
-----------------------------
id, invoice_id, date , total
1, 100, 2014-05-07, 200
2, 100, 2014-05-07, 200
si_payment
-----------------------------
id, ac_inv_id, date , payment
1, 100, 2014-05-07, 100
2, 100, 2014-05-07, 200
SELECT SI.*,SUM(SII.total) as total,SUM(SIP.payment) as payment FROM
(SELECT * FROM si_invoices GROUP BY si_invoices.id) AS SI
LEFT JOIN si_invoice_items SII ON SII.invoice_id = SI.id
LEFT JOIN si_payment SIP ON SIP.ac_inv_id = SII.invoice_id
GROUP BY SI.id
它应该为 sql 中的字段“total”返回 400 总和,但它返回 800,与“ payment”相同。您能指出我的查询中有什么错误吗?请帮忙,不胜感激。
谢谢
多发性硬化症