2016-04-06 7 views
1

Ich möchte alle Lastschrift und subtrahieren Kredit vom Sollbetrag Zeile für Zeile. wie Summe Sollbetrag von oben zwei Reihen und subtrahiert Kredit von Zeile 3,4 und zeigt in der Spalte ttl BLNC aber das folgende Ergebnis nicht korrigieren subtrahiert nur Kredit von DebitSo machen Sie Debit-und Kredit-Formel

enter image description here

ich brauche dieses Ergebnis

debit Credit Running Total 
144  0  144 
264  0  408 
0  264  144 
0  441  -297 
2464  0  2167 
144  0  2311 
0  27306  -24995 
264  0  -24731 

dies ist mein Code

result number:=0; 
begin 
    result:= result + debit - credit; 
    return result; 

Antwort

1

Verwendung dieses formulla

0

Angenommen, Sie möchten die laufende Summe Zeile für Zeile sehen, würde ich die SUM() Analyse-Funktion verwenden.

SELECT 
xti.dr_amount 
,xti.cr_amount 
,SUM(dr_amount-cr_amount) OVER (ORDER BY xti.invoice_num) running_total 
FROM 
xxcjp_test_invoices  xti 
ORDER BY 
xti.invoice_num 
; 

Verwenden folgenden werden die Testdaten

CREATE TABLE XXCJP_TEST_INVOICES 
(invoice_num VARCHAR2(10) 
,dr_amount  NUMBER 
,cr_amount  NUMBER 
) 
; 

INSERT INTO XXCJP_TEST_INVOICES VALUES ('A001',144,0) ; 
INSERT INTO XXCJP_TEST_INVOICES VALUES ('A002',264,0) ; 
INSERT INTO XXCJP_TEST_INVOICES VALUES ('A003',0,264) ; 
INSERT INTO XXCJP_TEST_INVOICES VALUES ('A004',0,441) ; 
INSERT INTO XXCJP_TEST_INVOICES VALUES ('A005',2464,0) ; 
INSERT INTO XXCJP_TEST_INVOICES VALUES ('A006',144,0) ; 
INSERT INTO XXCJP_TEST_INVOICES VALUES ('A007',0,27306) ; 
INSERT INTO XXCJP_TEST_INVOICES VALUES ('A008',264,0) ; 
INSERT INTO XXCJP_TEST_INVOICES VALUES ('A009',55500,0) ; 
zu erstellen
Verwandte Themen