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


BEGIN READ ONLY;

SET LOCAL statement_timeout = '180s';

WITH reserve_accounts AS MATERIALIZED (
    SELECT array_agg(a.id) AS ids
    FROM back_office.account a
    JOIN back_office.account_type at
        ON at.id = a.account_type_id
    WHERE at.mnemonics IN ('Р ОПС', 'Р ОПС ИД')
)
SELECT
    'Резервный счёт в кредите' AS direction,
    COUNT(*) AS transaction_count
FROM reserve_accounts r
JOIN back_office.transaction t
    ON t.credit_account_id = ANY(r.ids)

UNION ALL

SELECT
    'Резервный счёт в дебете' AS direction,
    COUNT(*) AS transaction_count
FROM reserve_accounts r
JOIN back_office.transaction t
    ON t.debit_account_id = ANY(r.ids);

ROLLBACK;