在以下查詢中,分別從[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