有人可以幫我解決以下問題嗎?分配值
我有兩個表連接在一起,一個是包含發票金額未清的發票標題,另一個是包含原始金額分析的發票行。我需要將未償金額與個別原始金額分攤,以便總金額爲未償金額總額。
我已經開始用的代碼是:
SELECT
t1.TRANSACTION_REFERENCE
,[LINE_NUMBER]
,[LINE_SEQUENCE_NUMBER]
,t2.OUTSTANDING_AMOUNT
,[NET_AMOUNT]
,[VAT_AMOUNT]
FROM I_DB_TRANSACTION_DETAIL_FACT t1
INNER JOIN I_DB_TRANSACTION_HEADER t2 on t1.TRANSACTION_REFERENCE =
t2.TRANSACTION_REFERENCE
結果我得到的是:
餘額列需要顯示在第4行零,然後£第5和6行分別爲2351.17和131.44英鎊。
編輯:
這是在標題表中保持的數據
TRANSACTION_REFERENCE OUTSTANDING_AMOUNT
IN0110468843 2482.61
編輯2:
我用修改後的代碼和它返回一個錯誤:
(
select sum(net_amount) originalamount from I_DB_TRANSACTION_DETAIL_FACT
)
select *,case when NET_AMOUNT =0 then 0 else
NET_AMOUNT/(fn.ORIGINAL_AMOUNT * fn.OUTSTANDING_AMOUNT) end
newoutstandingamount
from
I_DB_TRANSACTION_DETAIL_FACT T
cross apply (select * from I_DB_TRANSACTION_HEADER)fn
錯誤是:
警告:Null值由聚合或其它SET操作消除。
(1 row(s)affected) Msg 8134,Level 16,State 1,Line 4 除以零遇到的錯誤。
原來的金額在哪裏?前4行應該是0等等? – KumarHarsh
給我們提供兩個表格中的數據樣本..很難理解爲什麼結果應該如您所說 – sagi
對不起,原始金額是淨金額,因爲前4行的淨金額爲0,傑出的必須是零。原始淨額總額爲4399.86英鎊,因此如果您計算4166.91英鎊/ 4399.86英鎊* 2482.61英鎊,那麼該特定行的未付金額爲2351.17英鎊。 – missspeedy