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


select
    c.id,
    c.date,

    c.pension_rule_id as contract_rule_id,

    prh.pension_rule_id as history_rule_id,

    pr.edition_number as pension_rules_edition

from ourpension.contract c

left join lateral (
    select
        h.pension_rule_id
    from ourpension.npo_contract_pension_rules_history h
    where h.contract_id = c.id
      and h.period <= c.date
    order by
        h.period desc,
        h.version desc
    limit 1
) prh on true

left join ourpension.pension_rule pr
    on pr.id = coalesce(prh.pension_rule_id, c.pension_rule_id)

where c.id = 13012647;