47 lines
2.1 KiB
SQL
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)));;
|