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


SELECT
    c.id AS contract_id,
    c.number,
    cph.pens_product_id,
    tpprc.period_month_from,
    tpprc.period_month_to,
    hs."name" AS stage_name,
    tpprc.k1,
    tpprc.k2,
    tpprc.k3,
    tpprc.k4,
    tpprc.contract_id AS coeff_contract_id
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 pppp
    ON pppp.pens_product_id = cph.pens_product_id
JOIN prod_line.param_pl pp
    ON pp.id = pppp.param_pl_id
JOIN prod_line.table_param_pl_redemption_coeff tpprc
    ON tpprc.pens_product_param_pl_id = pppp.id
LEFT JOIN prod_line.hb_stage hs
    ON hs.id = tpprc.stage_id
WHERE pp.brief = 'ВыкупныеСуммыКоэффициентыНПО'
  AND tpprc.period_month_from IS NOT NULL
  AND (
        tpprc.contract_id = c.id
        OR (
            tpprc.contract_id IS NULL
            AND NOT EXISTS (
                SELECT 1
                FROM prod_line.table_param_pl_redemption_coeff x
                WHERE x.contract_id = c.id
            )
        )
      )
ORDER BY c.id DESC
LIMIT 20;