mysql sum显示十进制类型的错误答案

时间:2010-12-15 05:04:56

标签: mysql decimal sum

sales_id = 12
product_rate = 2090.00
making_charge = 83.60
handling_charge = 0.00

所有这些都是十进制(10,2)类型。我的问题是

SELECT SUM( making_charge + product_rate + handling_charge ) AS tax_tourn
FROM  `sales_details` 
WHERE  `sales_id` =12


我得到的结果是
  tax_tourn = 10784.40
这是不对的


2090.00 + 83.60 + 0.00 = 2173.60

为什么mysql显示错误的答案?


新增详情
我有两个表销售和sales_details。 sales_id是sales的主键,sales_details_id是sales_details的主键 sales_id是sales_details中的外键。
sales_details中可以有多行具有相同的sales_id。

但在我们的情况下(sales_id = 12),只有一行。

2 个答案:

答案 0 :(得分:4)

听起来你有多行sales_id =12

答案 1 :(得分:0)

如果此代码返回的答案超过1,则您的where子句匹配多于1行。

SELECT COUNT(*)
FROM  `sales_details` 
WHERE  `sales_id` =12