base AS (
SELECT
e.name AS schema_name,
s.name AS strategy_name,
t.value
FROM back_office.eps_transaction et
JOIN back_office.eps_transaction_source ets
ON ets.id = et.eps_transaction_source_id
JOIN ourpension.eps e
ON e.id = et.eps_id
JOIN back_office.transaction t
ON t.operation_id = ets.operation_id
JOIN back_office.posted_register_details prd
ON prd.operation_id = ets.operation_id
JOIN ourpension.invest_strategy_history ish
ON ish.contract_id = prd.contract_id
AND t.period_date BETWEEN ish.begin_date
AND COALESCE(ish.end_date, 'infinity'::timestamp)
JOIN prod_line.hb_invest_strategy s
ON s.id = ish.strategy_id
WHERE 1 = 1
#if ("$!date_from" != "")
AND t.period_date >= TO_DATE(:date_from, 'DD.MM.YYYY')
#end
#if ("$!date_to" != "")
AND t.period_date <= TO_DATE(:date_to, 'DD.MM.YYYY')
#end
#if ("$!schema_index" != "")
AND e.code = :schema_index
#end
#if ("$!strategy" != "")
AND s.id = CAST(:strategy AS bigint)
#end
)
WITH base AS (
SELECT
e.name AS schema_name,
s.name AS strategy_name,
t.value
FROM back_office.eps_transaction et
JOIN back_office.eps_transaction_source ets
ON ets.id = et.eps_transaction_source_id
JOIN ourpension.eps e
ON e.id = et.eps_id
JOIN back_office.transaction t
ON t.operation_id = ets.operation_id
JOIN back_office.posted_register_details prd
ON prd.operation_id = ets.operation_id
JOIN ourpension.invest_strategy_history ish
ON ish.contract_id = prd.contract_id
AND t.period_date BETWEEN ish.begin_date
AND COALESCE(ish.end_date, 'infinity'::timestamp)
JOIN prod_line.hb_invest_strategy s
ON s.id = ish.strategy_id
)
SELECT COUNT(*) FROM base