SELECT DISTINCT
c.id AS contract_id,
c.number,
cp.minimal_payment_amount,
cph.pens_product_id,
mp.min_pension_from AS pl_min_payment_amount
FROM ourpension.contract c
LEFT JOIN ourpension.contract_params cp
ON cp.contract_id = c.id
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 p_min
ON p_min.pens_product_id = cph.pens_product_id
JOIN prod_line.param_pl def_min
ON def_min.id = p_min.param_pl_id
JOIN prod_line.table_param_pl_minimum_pension mp
ON mp.pens_product_param_pl_id = p_min.id
WHERE cp.minimal_payment_amount IS NULL
AND def_min.brief = 'МинРазмерПенсии'
AND mp.min_pension_from IS NOT NULL
ORDER BY c.id DESC
LIMIT 20;