Files
Implementation_ITSA/Database Backups/SQL Views/vw_utility_physical_mtm_definition.sql
AzureAD\SylvainDUVERNAY 3986882771 Commit all views
2026-04-23 09:24:37 +02:00

47 lines
2.1 KiB
SQL

CREATE OR REPLACE VIEW public.vw_utility_physical_mtm_definition AS
SELECT 'Purchase'::text AS "strContractType",
pp.id AS "intContractId",
pl.id AS "intContractLineId",
pl.quantity AS "dblLineQuantity",
ms.name AS "strStrategy",
msc.name AS "strScenario",
cur.symbol AS "strStrategyCurrency",
pc_mtm.price_source_type AS "strComponentPriceSource",
pc_mtm.ratio AS "strComponentRatioPct",
ft.name AS "strComponentFixType",
pi.price_desc AS "strComponentCurve",
pc_cal.name AS "strComponentCalendar"
FROM (((((((((purchase_strategy ps
JOIN purchase_line pl ON ((pl.id = ps.line)))
JOIN purchase_purchase pp ON ((pp.id = pl.purchase)))
JOIN mtm_strategy ms ON ((ms.id = ps.strategy)))
JOIN mtm_scenario msc ON ((msc.id = ms.scenario)))
JOIN currency_currency cur ON ((cur.id = ms.currency)))
LEFT JOIN pricing_component pc_mtm ON ((pc_mtm.strategy = ms.id)))
LEFT JOIN price_fixtype ft ON ((ft.id = pc_mtm.fix_type)))
LEFT JOIN price_price pi ON ((pi.id = pc_mtm.price_index)))
LEFT JOIN price_calendar pc_cal ON ((pc_cal.id = pc_mtm.calendar)))
UNION ALL
SELECT 'Sale'::text AS "strContractType",
ss.id AS "intContractId",
sl.id AS "intContractLineId",
sl.quantity AS "dblLineQuantity",
ms.name AS "strStrategy",
msc.name AS "strScenario",
cur.symbol AS "strStrategyCurrency",
pc_mtm.price_source_type AS "strComponentPriceSource",
pc_mtm.ratio AS "strComponentRatioPct",
ft.name AS "strComponentFixType",
pi.price_desc AS "strComponentCurve",
pc_cal.name AS "strComponentCalendar"
FROM (((((((((sale_strategy sa
JOIN sale_line sl ON ((sl.id = sa.sale_line)))
JOIN sale_sale ss ON ((ss.id = sl.sale)))
JOIN mtm_strategy ms ON ((ms.id = sa.strategy)))
JOIN mtm_scenario msc ON ((msc.id = ms.scenario)))
JOIN currency_currency cur ON ((cur.id = ms.currency)))
LEFT JOIN pricing_component pc_mtm ON ((pc_mtm.strategy = ms.id)))
LEFT JOIN price_fixtype ft ON ((ft.id = pc_mtm.fix_type)))
LEFT JOIN price_price pi ON ((pi.id = pc_mtm.price_index)))
LEFT JOIN price_calendar pc_cal ON ((pc_cal.id = pc_mtm.calendar)));;