sql >> Databáze >  >> RDS >> PostgreSQL

funkce xlookup v SQL

Váš dotaz je v zásadě správný. Jediný problém je, že pravděpodobně chcete všechny řádky z c1 s extra sloupcem z c2 . K tomu slouží c1 tabulka by měla být první tabulkou v LEFT JOIN :

SELECT c1.SID, c1.FID, c1.companyname, 
       C1.parentID, c1.parentname, c1.companytype,
       c1.companystatus, c2.researchID
FROM c1 LEFT JOIN
     c2 
     ON c2.SID = c1.SID

Také jsem odstranil přetrvávající čárku před FROM doložka.

Samozřejmě, pokud jsou všechny SID s v c1 jsou naplněny správnými hodnotami, pak vnější spojení vůbec nepotřebujete. V takovém případě pořadí c1 /c2 v FROM klauzule nezáleží.

EDIT:

Pokud chcete, aby jméno bylo spojeno s researchId , použili byste jiný JOIN :

SELECT c1.SID, c1.FID, c1.companyname, 
       C1.parentID, c1.parentname, c1.companytype,
       c1.companystatus, c2.researchID,
       c2r.companyName
FROM c1 LEFT JOIN
     c2 
     ON c2.SID = c1.SID LEFT JOIN
     c2 c2r
     ON c2r.SID = c2.ResarchID



  1. .MySQLNonTransientConnectionException:Nelze vytvořit připojení k databázovému serveru

  2. MYSql Top 10 a další celkem

  3. Django - OperationalError:(2006, 'MySQL server zmizel')

  4. Použití OLD a NEW objektu pro dynamické operace uvnitř triggeru