明细与汇总的有关问题

明细与汇总的问题
遇到个问题,如果select  出明细,数量相加等于0;但如果select sum() ,则数量汇总不等于0。疑惑求解。
(注:数量 的数据类型是decimal)

以下是select 
物料编码 数量
301010075 300
301010075 250
301010075 47.8
301010075 -300
301010075 -250
301010075 -47.8

以下是select sum()
物料编码 (无列名)
301010075 -4.2632564145606E-14
------解决思路----------------------
select CAST(数量 as real) from 

看看,小数位特别长的
------解决思路----------------------
吓我一身冷汗,我还以为都说DECIMAL不会出这种级别的精度问题,楼主还出现了~~原来是浮点型

你可以考虑在计算的时候,转成DECIMAL
参考
http://blog.163.com/hongfengye_8/blog/static/69453117200822031327375/