WITH cte_pens_product AS MATERIALIZED
(
SELECT
products.id,
products.name
FROM ourpension.contract_product_history history
JOIN prod_line.pens_product products
ON products.id = history.pens_product_id
WHERE history.contract_id = 13079311
AND CURRENT_TIMESTAMP BETWEEN
history.begin_date
AND COALESCE(history.end_date, 'infinity')
LIMIT 1
)
SELECT
cpp.id as product_id,
cpp.name as product_name,
pp.brief,
prod_line.get_value_link_param(
CAST(pp.id AS integer),
CAST(pppp.value_ref AS integer)
) as param_value
FROM cte_pens_product cpp
JOIN prod_line.pens_product_param_pl pppp
ON pppp.pens_product_id = cpp.id
JOIN prod_line.param_pl pp
ON pp.id = pppp.param_pl_id
WHERE pp.brief = 'ФормаДоговора';