SELECT DISTINCT
c.id AS contract_id,
c.number,
cph.pens_product_id,
mpf."name" AS contribution_frequency
FROM ourpension.contract c
JOIN ourpension.contract_product_history cph
ON cph.contract_id = c.id
AND CURRENT_TIMESTAMP BETWEEN
cph.begin_date
AND COALESCE(cph.end_date, 'infinity')
JOIN prod_line.pens_product_param_pl ppp
ON ppp.pens_product_id = cph.pens_product_id
JOIN prod_line.param_pl p
ON p.id = ppp.param_pl_id
JOIN prod_line.pens_product_param_pl_hb_param_pl_multiselect ppm
ON ppm.pens_product_param_pl_id = ppp.id
JOIN prod_line.hb_param_pl_multiselect mpf
ON mpf.id = ppm.hb_param_pl_multiselect_id
WHERE p.brief = 'ПериодичностьВзносов'
AND mpf."name" <> 'Не установлено'
ORDER BY c.id DESC
LIMIT 20;