Jeg tror, at problemet med din oversættelse er, at du bruger betingelser på de rigtige tabeller i where
klausul i stedet for i on
klausul.
Da jeg forsøgte at oversætte den, er denne oversættelse, jeg har:
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')
Det er dog svært at vide, om jeg har ret, da du ikke har givet eksempeldata, ønskede resultater eller endda en komplet forespørgsel.