SELECT
o.id AS operation_id,
t.id AS transaction_id,
ed.account_dt,
ed.account_ct,
da.owner_sharer_id AS debit_sharer_id,
ca.owner_sharer_id AS credit_sharer_id,
COALESCE(ed.pension_scheme_id, et.pens_schema_dt)
AS debit_scheme_id,
COALESCE(ed.pension_scheme_id, et.pens_schema_ct)
AS credit_scheme_id,
te.strategy_id
FROM back_office.operation o
JOIN back_office.eps_transaction_source src
ON src.operation_id = o.id
JOIN back_office.eps_transaction et
ON et.eps_transaction_source_id = src.id
JOIN ourpension.eps e
ON e.id = et.eps_id
JOIN ourpension.eps_detail ed
ON ed.eps_id = e.id
JOIN back_office.transaction t
ON t.operation_id = o.id
LEFT JOIN back_office.transaction_extended te
ON te.transaction_id = t.id
LEFT JOIN back_office.account da
ON da.id = t.debit_account_id
LEFT JOIN back_office.account ca
ON ca.id = t.credit_account_id
WHERE o.operation_date BETWEEN
TO_DATE(:startDate, 'DD.MM.YYYY')
AND TO_DATE(:endDate, 'DD.MM.YYYY')
AND e.service_type = :service_type
ORDER BY o.id, t.id
LIMIT 20;