PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

xlookup in SQL

La tua domanda è sostanzialmente corretta. L'unico problema è che probabilmente vuoi tutte le righe da c1 con la colonna extra da c2 . Per questo, il c1 table dovrebbe essere la prima tabella in 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

Ho anche rimosso una virgola persistente prima di FROM clausola.

Naturalmente, se tutti SID s in c1 sono popolati con valori corretti, quindi non è necessario un join esterno. In tal caso, l'ordine di c1 /c2 nel FROM la clausola non ha importanza.

MODIFICA:

Se vuoi il nome associato al researchId , useresti un altro 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