mysql сумма, показывающая неправильный ответ для десятичного типа - PullRequest
3 голосов
/ 15 декабря 2010

sales_id = 12product_rate = 2090,00make_charge = 83,60handle_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 и sales_details.sales_id является первичным ключом sales, а sales_details_id является первичным ключом sales_details.sales_id - это внешний ключ в sales_details.В sales_details может быть несколько строк с одним и тем же sales_id.

Но в нашем случае (sales_id = 12) есть только одна строка.

Ответы [ 2 ]

4 голосов
/ 15 декабря 2010

Похоже, у вас есть несколько строк, где sales_id =12.

0 голосов
/ 15 декабря 2010

Если этот код возвращает более 1 в качестве ответа, у вас есть более 1 строки, соответствующей предложению where.

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