PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

xlookup-Funktion in SQL

Ihre Anfrage ist grundsätzlich richtig. Das einzige Problem ist, dass Sie wahrscheinlich alle Zeilen von c1 wollen mit der zusätzlichen Spalte von c2 . Dafür das c1 table sollte die erste Tabelle im LEFT JOIN sein :

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

Ich habe auch ein verbleibendes Komma vor dem FROM entfernt Klausel.

Natürlich, wenn alle SID s in c1 mit korrekten Werten gefüllt sind, benötigen Sie überhaupt keinen äußeren Join. In diesem Fall die Reihenfolge von c1 /c2 im FROM Klausel spielt keine Rolle.

BEARBEITEN:

Wenn Sie möchten, dass der Name mit der researchId verknüpft wird , würden Sie ein weiteres JOIN verwenden :

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