select mcc.from_currency, mcc.to_currency, mcd.calendar_date, mcc.conv_rate from (select conv_date effective_date, lead(conv_date-1) over(partition by from_currency, to_currency order by conv_date) expiry_date, from_currency, to_currency, conv_rate from msc_currency_conversions) mcc, msc_phub_dates_mv mcd where mcd.calendar_date between mcc.effective_date and nvl(mcc.expiry_date, mcd.calendar_date) and mcc.to_currency=(select reporting_currency from msc_apcc_config where rownum=1)
SELECT MCC.FROM_CURRENCY
, MCC.TO_CURRENCY
, MCD.CALENDAR_DATE
, MCC.CONV_RATE
FROM (SELECT CONV_DATE EFFECTIVE_DATE
, LEAD(CONV_DATE-1) OVER(PARTITION BY FROM_CURRENCY
, TO_CURRENCY ORDER BY CONV_DATE) EXPIRY_DATE
, FROM_CURRENCY
, TO_CURRENCY
, CONV_RATE
FROM MSC_CURRENCY_CONVERSIONS) MCC
, MSC_PHUB_DATES_MV MCD
WHERE MCD.CALENDAR_DATE BETWEEN MCC.EFFECTIVE_DATE
AND NVL(MCC.EXPIRY_DATE
, MCD.CALENDAR_DATE)
AND MCC.TO_CURRENCY=(SELECT REPORTING_CURRENCY
FROM MSC_APCC_CONFIG
WHERE ROWNUM=1)
|
|
|