sql >> Databáze >  >> RDS >> Sqlserver

Převést starší SQL Outer JOIN *=, =* na ANSI

Myslím, že problém s vaším překladem je v tom, že používáte podmínky ve správných tabulkách v where klauzule namísto v on clause.
Když jsem se to snažil přeložit, mám tento překlad:

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

Je však těžké zjistit, zda mám pravdu, protože jste neposkytli ukázková data, požadované výsledky nebo dokonce úplný dotaz.



  1. Jak generovat skripty DDL (vytvořit) z SQL Server Management Studio (SSMS) - SQL Server / Výukový program TSQL, část 17

  2. Spojte dvě tabulky sloupcem s více položkami pro druhou tabulku

  3. Dokáže Oracle SQL*Loader zpracovat XML?

  4. Jsou databázové tabulky seřazeny před nebo po načtení?