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


SELECT
    opaa.id AS application_id,
    opaa.appeal_date,
    opaa.registration,
    opaa.accepted IS NOT NULL AS application_accepted,

    opaa.ops_payment_type_code,

    opaa.decision_payment_type_code AS app_decision_payment_type_code,

    dpt.code IS NOT NULL AS app_decision_payment_type_found,

    opaa.bank_detail_id IS NOT NULL AS bank_detail_id_exists,
    aibd.id IS NOT NULL AS bank_detail_found,

    aibd.personal_account IS NOT NULL AS personal_account_exists,
    aibd.bic IS NOT NULL AS bic_exists,
    aibd.accepted IS NOT NULL AS bank_detail_accepted,
    aibd.accepted AS bank_detail_accepted_date,

    EXISTS (
        SELECT 1
        FROM back_office.ops_payment_decision opd
        WHERE opd.ops_pension_assignment_application_id = opaa.id
          AND opd.decision_payment_type_code = '02'
    ) AS spv_decision_exists,

    (
        SELECT max(opd.date)
        FROM back_office.ops_payment_decision opd
        WHERE opd.ops_pension_assignment_application_id = opaa.id
          AND opd.decision_payment_type_code = '02'
    ) AS spv_decision_date

FROM ourpension.ops_pension_assignment_application opaa

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

LEFT JOIN ourpension.application_individual_bank_detail aibd
    ON aibd.id = opaa.bank_detail_id

WHERE opaa.ops_payment_type_code = '05'
  AND opaa.registration >= CURRENT_DATE - INTERVAL '30 days'

ORDER BY opaa.registration DESC;