WITH target_decision AS (
SELECT oad.id, oad.number
FROM back_office.ops_assignee_decision oad
JOIN ourpension.ops_assignee_payment oap
ON oap.id = oad.ops_assignee_payment_id
JOIN ourpension.sharer sh
ON sh.id = oap.sharer_id
JOIN ourpension.contract c
ON c.id = sh.contract_id
JOIN ourpension.individual im
ON im.id = sh.individual_id
JOIN ourpension.individual ip
ON ip.id = oap.assignee_id
JOIN ourpension.agent a
ON a.id = oad.agent_id
WHERE oad.accepted IS NOT NULL
AND oad.id = 488177
)
SELECT
'До: JOIN' AS variant,
COUNT(*) AS report_rows,
MIN(COALESCE(p.payment_value, 0)) AS payment_value
FROM target_decision d
JOIN back_office.ops_assignee_decision_payment p
ON p.ops_assignee_decision_id = d.id
UNION ALL
SELECT
'После: LEFT JOIN' AS variant,
COUNT(*) AS report_rows,
MIN(COALESCE(p.payment_value, 0)) AS payment_value
FROM target_decision d
LEFT JOIN back_office.ops_assignee_decision_payment p
ON p.ops_assignee_decision_id = d.id;