Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Konvertieren Sie Legacy SQL Outer JOIN *=, =* in ANSI

Ich denke, das Problem mit Ihrer Übersetzung ist, dass Sie Bedingungen für die richtigen Tabellen im where verwenden -Klausel statt im on Klausel.
Als ich versuchte, es zu übersetzen, ist dies die Übersetzung, die ich habe:

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')

Es ist jedoch schwer zu sagen, ob ich richtig liege, da Sie keine Beispieldaten, gewünschten Ergebnisse oder sogar eine vollständige Abfrage bereitgestellt haben.