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


SELECT
    s.name AS strategy_name,
    COUNT(*) AS cnt,
    SUM(b.total_credit - b.total_debit) AS total_balance
FROM back_office.account a
JOIN back_office.balance b
    ON b.account_id = a.id
    AND TO_DATE(:date_to, 'DD.MM.YYYY') BETWEEN b.start_date AND b.end_date
JOIN ourpension.sharer sh
    ON sh.id = a.owner_sharer_id
JOIN ourpension.contract c
    ON c.id = sh.contract_id
JOIN ourpension.invest_strategy_history ish
    ON ish.contract_id = c.id
    AND TO_DATE(:date_to, 'DD.MM.YYYY') BETWEEN ish.begin_date
        AND COALESCE(ish.end_date, CAST('infinity' AS timestamp))
JOIN prod_line.hb_invest_strategy s
    ON s.id = ish.strategy_id
GROUP BY s.name
ORDER BY total_balance DESC;