2016-04-06 2 views
1

Я хочу суммировать все дебетовые и вычитание кредита из суммы дебетов по строкам. как сумма сумма дебетовых из двух верхних строк и вычитать кредит из строки 3,4 и показывают в колонке ТТЛ blnc но ниже результат не исправить это просто вычесть кредит от дебетаКак сделать формулу дебетования и кредита

enter image description here

я нужен этот результат

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 

это мой код

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

ответ

1

использование этого formulla

RETURN(NVL(:CF_ttl_blnc,0)+NVL(:debit,0)-NVL(:credit,0)); 
0

Предполагая, что вы хотите видеть текущую общую строку за строкой, я бы использовал функцию аналитики SUM().

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 
; 

Используйте следующие действия для создания тестовых данных

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) ; 
Смежные вопросы