Ik denk dat het probleem met je vertaling is dat je voorwaarden gebruikt in de juiste tabellen in de where
clausule in plaats van in de on
clausule.
Toen ik het probeerde te vertalen, kreeg ik dit:
FROM counterparty cp
LEFT JOIN counterparty_alias ca1 ON cp.code = ca1.counterparty_code
AND ca1.alias = 'Party1'
LEFT JOIN counterparty_alias ca2 ON cp.code *= ca2.counterparty_code
AND ca2.alias = 'Party2'
LEFT JOIN party p ON cp.code = p.child_code
WHERE cp.category in ('CAT1','CAT2')
Het is echter moeilijk om te weten of ik het bij het rechte eind heb, aangezien u geen voorbeeldgegevens, gewenste resultaten of zelfs een volledige zoekopdracht hebt verstrekt.