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


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;