我在设计有多个JOIN的MySQL中有一个查询。 但是,如果我使用“组”或仅使用一个总值,则总和值会有所不同。
如果我像下面那样运行查询,我会得到e.b. 3行具有正确的计算价格(price * tax_amount)。
但是,如果我不使用Group是因为我只希望总体总数,结果将有所不同。我猜是因为查询使用的是平均税额而不是每个项目的正确税额。
您是否知道我该如何解决?
表格:
查询(有效):
SELECT SUM(price*tax_amount) AS t_price
FROM contracts
JOIN objects
ON contracts.contractID = objects.contractID
JOIN tax
ON tax.taxID = objects.taxID
GROUP BY contracts.contractID
结果: 233.44 / 345.33 / 22.11
查询(不起作用):
SELECT SUM(price*tax_amount) AS t_price
FROM contracts
JOIN objects
ON contracts.contractID = objects.contractID
JOIN tax
ON tax.taxID = objects.taxID
结果:527.33