我需要根据账户和交易日期对结果进行汇总。我得到以下结果:
ACCOUNT_ID TRANSACTION_DATE AMOUNT
581 05-SEP-23 309.32
581 08-SEP-23 1863.76
581 15-SEP-23 0.26
581 21-SEP-23 23.17
with transaction_tbl
AS (
select 581 ACCOUNT_ID, TO_DATE('05-09-2023', 'DD-MM-YYYY') TRANSACTION_DATE, 309.32 AMOUNT from dual
union all
select 581 ACCOUNT_ID, TO_DATE('08-09-2023', 'DD-MM-YYYY') TRANSACTION_DATE, 1863.76 AMOUNT from dual
union all
select 581 ACCOUNT_ID, TO_DATE('15-09-2023', 'DD-MM-YYYY') TRANSACTION_DATE, 0.26 AMOUNT from dual
union all
select 581 ACCOUNT_ID, TO_DATE('21-09-2023', 'DD-MM-YYYY') TRANSACTION_DATE, 23.17 AMOUNT from dual
)
SELECT
ACCOUNT_ID,TRANSACTION_DATE,AMOUNT
FROM
transaction_tbl
--where TRANSACTION_DATE < asofdate ;
我有以下无法处理的案例。
当 TRANSACTION_DATE < asofdate TO_DATE('06-09-2023', 'DD-MM-YYYY') 预期结果时的情况;
581 05-SEP-23 309.32
当 TRANSACTION_DATE < asofdate TO_DATE('09-09-2023', 'DD-MM-YYYY') 预期结果时的情况;
581 08-SEP-23 2173.08
当 TRANSACTION_DATE < asofdate TO_DATE('18-09-2023', 'DD-MM-YYYY') 预期结果时的情况;
581 15-SEP-23 2173.34
当 TRANSACTION_DATE < asofdate TO_DATE('22-09-2023', 'DD-MM-YYYY') 预期结果时的情况;
581 21-SEP-23 2196.51
我的想法是,我需要根据作为交易存在的日期的先前数据重新计算结果。