Files
Implementation_ITSA/Database Backups/SQL Views/vw_fx_by_maturity_sum.sql
AzureAD\SylvainDUVERNAY 832a142e87 Commit all views for ITSA
2026-03-24 14:40:53 +01:00

21 lines
1.2 KiB
SQL

CREATE OR REPLACE VIEW public.vw_fx_by_maturity_sum AS
SELECT period,
max(maturity_date) AS max,
max(amount_remaining_contract) AS rem_ct,
COALESCE(max(amount_remaining_forex), (0)::numeric) AS rem_fx,
(COALESCE(max(amount_remaining_contract), (0)::double precision) - COALESCE((max(amount_remaining_forex))::double precision, (0)::double precision)) AS req_fx
FROM ( SELECT vw_fx_by_maturity_by_contract.maturity_month AS period,
max(vw_fx_by_maturity_by_contract.maturity_date) AS maturity_date,
sum(vw_fx_by_maturity_by_contract.amount_remaining) AS amount_remaining_contract,
NULL::numeric AS amount_remaining_forex
FROM vw_fx_by_maturity_by_contract
GROUP BY vw_fx_by_maturity_by_contract.maturity_month
UNION ALL
SELECT vw_fx_by_maturity_by_forex.maturity_period AS period,
max(vw_fx_by_maturity_by_forex.maturity_date) AS maturity_date,
NULL::double precision AS amount_remaining_contract,
sum(vw_fx_by_maturity_by_forex.amount_remaining) AS amount_remaining_forex
FROM vw_fx_by_maturity_by_forex
GROUP BY vw_fx_by_maturity_by_forex.maturity_period) m
GROUP BY period;;