我正在使用 P_RUC、P_ANEXO 和 P_SEC 选择多个字段作为输入数据。然后连接通过一个名为 A.CUOTAS.
的字段来获取行SELECT LEVEL,A.*, TO_CHAR(ADD_MONTHS(A.FECHA,LEVEL),'DD/MM/YYYY') AS FECHA_CUOTAS FROM(
SELECT
NRO_CUOTAS AS CUOTAS,
NVL(TO_CHAR(FECHA_PRESTAMO,'DD/MM/YYYY'),0) AS FECHA,
TO_CHAR(TRIM(TO_CHAR(NVL(MONTO_DESCTO_PROCESO,0) + NVL(MONTO_DESCTO_ADICIONAL,0), '999999990.99')) / NRO_CUOTAS, '999999990.99') AS DSCTO,
TO_CHAR(TRIM(TO_CHAR(NVL(MONTO_DESCTO_PROCESO,0) + NVL(MONTO_DESCTO_ADICIONAL,0), '999999990.99')) - TRIM(TO_CHAR(NVL(MONTO_DESCTO_PROCESO,0) + NVL(MONTO_DESCTO_ADICIONAL,0), '999999990.99')) / NRO_CUOTAS, '999999990.99') AS SALDO
FROM PRESTAMOS
WHERE GRUPLA_EMPRESA_RUC_EMPRESA = P_RUC
AND TRA_ANEXO_COD_ANEXO = P_ANEXO
AND SECUENCIA = P_SEC
AND TRA_ANEXO_TIPANE_TIPANE_ID = 8
ORDER BY FECHA_INICIO_DESCTO)
A
CONNECT BY level <= A.CUOTAS;
作为输出,我得到了这个数据表。
| LEVEL | CUOTAS | FECHA | DSCTO | SALDO | FECHA_CUOTAS
| ------ | ------ | --------- | ----- | ------ | -----------
| 1 | 4 | 01/10/2020 | 56.25 | 168.75 | 01/11/2020
| 2 | 4 | 01/10/2020 | 56.25 | 168.75 | 01/12/2020
| 3 | 4 | 01/10/2020 | 56.25 | 168.75 | 01/01/2021
| 4 | 4 | 01/10/2020 | 56.25 | 168.75 | 01/02/2021
我正在寻找的是创建另一个字段,其中 Saldo 字段递归地减去 DSCTO 字段。类似结果字段的东西。
| LEVEL | CUOTAS | FECHA | DSCTO | SALDO | FECHA_CUOTAS | RESULT
| ------ | ------ | --------- | ----- | ------ | ----------- | ------
| 1 | 4 | 01/10/2020 | 56.25 | 168.75 | 01/11/2020 | 168.75
| 2 | 4 | 01/10/2020 | 56.25 | 168.75 | 01/12/2020 | 112.50
| 3 | 4 | 01/10/2020 | 56.25 | 168.75 | 01/01/2021 | 56.25
| 4 | 4 | 01/10/2020 | 56.25 | 168.75 | 01/02/2021 | 0