CASE
WHEN cp.payment_frequency IS NOT NULL THEN
CASE cp.payment_frequency
WHEN 413 THEN 'Произвольно'
WHEN 417 THEN 'Единовременно'
WHEN 421 THEN 'Ежемесячно'
WHEN 425 THEN 'Ежеквартально'
WHEN 429 THEN 'Полугодие'
WHEN 433 THEN 'Ежегодно'
ELSE 'Не установлено'
END
ELSE
COALESCE(
(
SELECT string_agg(
DISTINCT ms.name,
', ' ORDER BY ms.name
)
FROM prod_line.pens_product_param_pl p_freq
JOIN prod_line.param_pl def_freq
ON def_freq.id = p_freq.param_pl_id
JOIN prod_line.pens_product_param_pl_hb_param_pl_multiselect pm
ON pm.pens_product_param_pl_id = p_freq.id
JOIN prod_line.hb_param_pl_multiselect ms
ON ms.id = pm.hb_param_pl_multiselect_id
WHERE p_freq.pens_product_id = pp.id
AND def_freq.brief = 'ПериодичностьВзносов'
AND ms.name <> 'Не установлено'
),
'Не установлено'
)
END AS contribution_frequency,