2
我有一個表supplier_account,它有五個coloumns supplier_account_id(pk),supplier_id(fk),voucher_no,借方和貸方。我想獲得由supplier_id分組的借方總數,然後減去voucher_no不爲空的行的貸方值。因此,對於每個後續行,借方總和的值會減少。我曾嘗試使用'with'子句。從分組結果中減去一行的值
with debitdetails as(
select supplier_id,sum(debit) as amt
from supplier_account group by supplier_id
)
select acs.supplier_id,s.supplier_name,acs.purchase_voucher_no,acs.purchase_voucher_date,dd.amt-acs.credit as amount
from supplier_account acs
left join supplier s on acs.supplier_id=s.supplier_id
left join debitdetails dd on acs.supplier_id=dd.supplier_id
where voucher_no is not null
但是這裏的借方值對於所有行都是相同的。在第一行減法後,我想在第二行得到結果,並從中減去下一個信用值。
我知道這可以通過使用臨時表。問題是我無法使用臨時表,因爲該過程用於使用Jasper Reports生成報告。
您使用的術語「後續行」和「第一行」和「第二行「和」下一個「,但是沒有數據排序,那麼特定的行如何可以是」第一「,」第二「或」下一個「?如果你想積累金額,你將不得不更好地解釋這究竟是如何工作的。也許一些樣本數據和樣本預期輸出會幫助某人給你一個答案。 – Turophile