Execution Order - Oracle
Dear Team
Having struggle to understand the order of execution. Can you please suggest us.
SELECT HDR.PROPERTY_ID, HDR.PARTY_ID, HDR.CHALLAN_DATE, HDR.CHALLAN_ID, HDR.ATTRIBUTE5, HDR.DEPARTMENT_ID, HDR.ATTRIBUTE4, HDR.CHALLAN_NUMBER, HDR.CHALLAN_AMOUNT, DTL.TXN_MONTH, DTL.TXN_YEAR, DTL.OUTSTANDING_BALANCE, DTL.BALANCE_AMOUNT, DTL.PENALTY_AMOUNT, DTL.OUTSTANDING_PENALTY, DTL.TOTAL_OUTSTANDING_AMT, DTL.SETTLED_AMOUNT, DTL.SETTLEMENT_FLAG, DTL.CHALLAN_SOURCE_ID, CASE WHEN HDR.ATTRIBUTE5 = 'S' THEN CASE WHEN (DTL.TXN_MONTH || '-' || DTL.TXN_YEAR) = (SELECT (DTL.TXN_MONTH || '-' || DTL.TXN_YEAR) FROM XXTTD.XXTTD_AR_DCB_BC_CHLN_DTL_TBL DTL WHERE CHALLAN_ID = HDR.CHALLAN_ID ORDER BY DTL.TXN_YEAR, DTL.TXN_MONTH DESC FETCH FIRST 1 ROWS ONLY) THEN (SELECT NVL(CHALLAN_AMOUNT - STLD_AMOUNT, 0) EXCESS_AMT FROM XXTTD.XXTTD_AR_DCB_BC_CHLN_HDR_TBL H, (SELECT CHALLAN_ID, SUM(SETTLED_AMOUNT) STLD_AMOUNT FROM XXTTD.XXTTD_AR_DCB_BC_CHLN_DTL_TBL WHERE CHALLAN_ID = HDR.CHALLAN_ID GROUP BY CHALLAN_ID) D WHERE H.CHALLAN_ID = D.CHALLAN_ID AND H.CHALLAN_ID = HDR.CHALLAN_ID) ELSE 0 END WHEN HDR.ATTRIBUTE5 = 'A' THEN HDR.CHALLAN_AMOUNT ELSE 0