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


SELECT
    pa.ops_payment_type_code,
    pt.short_name AS application_payment_type,
    count(*) AS cnt,
    min(pa.appeal_date) AS min_appeal_date,
    max(pa.appeal_date) AS max_appeal_date,
    max(pa.registration) AS max_registration
FROM ourpension.ops_pension_assignment_application pa
LEFT JOIN ourpension.ops_payment_type pt
    ON pt.code = pa.ops_payment_type_code
WHERE pa.registration >= CURRENT_DATE - INTERVAL '6 months'
GROUP BY
    pa.ops_payment_type_code,
    pt.short_name
ORDER BY
    max(pa.registration) DESC;




SELECT
    pa.ops_payment_type_code,
    pt.short_name AS application_payment_type,

    t.decision_payment_type_code,
    dpt.short_name AS decision_payment_type,
    dpt.name AS decision_payment_type_name,

    count(*) AS cnt,

    min(t.date) AS min_decision_date,
    max(t.date) AS max_decision_date

FROM back_office.ops_payment_decision t

JOIN ourpension.ops_pension_assignment_application pa
    ON pa.id = t.ops_pension_assignment_application_id

LEFT JOIN ourpension.ops_payment_type pt
    ON pt.code = pa.ops_payment_type_code

LEFT JOIN ourpension.decision_payment_type dpt
    ON dpt.code = t.decision_payment_type_code

WHERE t.date >= CURRENT_DATE - INTERVAL '6 months'

GROUP BY
    pa.ops_payment_type_code,
    pt.short_name,
    t.decision_payment_type_code,
    dpt.short_name,
    dpt.name

ORDER BY
    max(t.date) DESC;