在以下查询中,分别从[PO数量]和[Recieved_Qty]计算出计算列[总量]和[接收量]。另外,如果我们在输出记录(附件)中看到,虽然[采购数量]和[收货数量]具有完全相同的值,但[总金额]和[接收金额]仍有差异。计算列中的数值差异
select
[vendor]
,round(cast([PO Quantity] as float),2)[PO Quantity]
,round([Recieved_Qty],2)[Recieved_Qty]
,[Net Price],round(([PO Quantity]*[Net Price]),2)[Total Amount]
,round(([Recieved_Qty]*[Net Price]),2)[Received Amount]
,round((([PO Quantity]*[Net Price])-(Recieved_Qty*[Net Price])),2)[Balance Amount]
from [dbo].[Base_file8]
and [PO Quantity]>[Recieved_Qty]
and [country] not in ('IN')
请帮助寻找解决方案。
----------------------------------------------------------------------------
Output records:
vendor PO Quantity Recieved_Qty Net Price Total Amount Received Amount Balance Amount
10025407 452.62 452.62 2105.17 952846.28 952842.04 4.24
10025407 295.35 295.35 2105.17 621766.15 621761.97 4.18
10025407 503.2 503.2 2105.17 1059325.75 1059321.57 4.18
10025407 403.9 403.9 1895.83 765729.54 765725.73 3.82
10025407 251.66 251.66 1979.01 498043.58 498037.66 5.92
我没有看到问题,你需要什么帮助?编辑:它是否在计算TOTAL和RECIEVED之间的小数点差异? – Simon
采购订单数量数据类型float ....不精确可能导致数学错误。十进制(16,4)十二进制左边4到右边的12位数可能是更好的选择。 – xQbert
确定查询没有'WHERE'子句? – Eli