Загрузка данных


SELECT DISTINCT
    c.id AS contract_id,
    c.number,
    cp.payment_term,
    cph.pens_product_id,
    pt.max_term_to AS pl_max_payment_term
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_term
    ON p_term.pens_product_id = cph.pens_product_id
JOIN prod_line.param_pl def_term
    ON def_term.id = p_term.param_pl_id
JOIN prod_line.table_param_pl_payment_term pt
    ON pt.pens_product_param_pl_id = p_term.id
WHERE cp.payment_term IS NULL
  AND def_term.brief = 'СрокВыплаты'
  AND pt.max_term_to IS NOT NULL
  AND (
        pt.app_date_from IS NULL
        OR c.date >= pt.app_date_from
      )
  AND (
        pt.app_date_to IS NULL
        OR c.date <= pt.app_date_to
      )
ORDER BY c.id DESC
LIMIT 20;