MYSQL联接查询中的错误总和

时间:2019-02-10 22:51:39

标签: mysql select

我在设计有多个JOIN的MySQL中有一个查询。 但是,如果我使用“组”或仅使用一个总值,则总和值会有所不同。

如果我像下面那样运行查询,我会得到e.b. 3行具有正确的计算价格(price * tax_amount)。

但是,如果我不使用Group是因为我只希望总体总数,结果将有所不同。我猜是因为查询使用的是平均税额而不是每个项目的正确税额。

您是否知道我该如何解决?

表格:

  • 合同(contractID,更多数据)
  • 对象(objectID,contractID,price,taxID)
  • 税金(taxID,tax_amount)

查询(有效):

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

0 个答案:

没有答案