有一个用于处理客户付款和计算余额的应用程序。假设客户的余额为 910.09 美元。代理登录到应用程序向客户申请 15.45 美元。现在,余额为 894.64 美元。
后来,代理又申请了 33.65 美元的付款。余额现在是 894.64 - 33.65 = 860.99。
好吧,有一个继承的流程(例如流程 X),每次应用付款时,它都会在我的表中填充从一开始就应用于每个处理的所有付款。
CREATE TABLE CUSTOMER_PAYMENTS
(
CUSTOMER_NO NUMBER,
PAYMENT_DATE DATE,
PAYMENT_AMT NUMBER(20,4),
REM_BALANCE NUMBER(20,4)
)
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
SET DEFINE OFF;
Insert into CUSTOMER_PAYMENTS
(CUSTOMER_NO, PAYMENT_DATE, PAYMENT_AMT, REM_BALANCE)
Values
(4926, TO_DATE('05/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -15.45, 894.64);
Insert into CUSTOMER_PAYMENTS
(CUSTOMER_NO, PAYMENT_DATE, PAYMENT_AMT, REM_BALANCE)
Values
(4926, TO_DATE('05/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -15.45, 860.99);
Insert into CUSTOMER_PAYMENTS
(CUSTOMER_NO, PAYMENT_DATE, PAYMENT_AMT, REM_BALANCE)
Values
(4926, TO_DATE('05/30/2013 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), -33.65, 860.99);
COMMIT;
这是 Process X 运行两次后我的表变成的样子。现在,我的挑战是识别独特的付款方式。应用付款后如何比较剩余余额以查看它是否真的是那个数字,如果不是,我会说这是重复的?
在这种情况下,第 3 行 894.64 - 15.45 != 860.99。因此,第 2 行 15.45 是重复的。
提前致谢。