sql >> Base de Datos >  >> RDS >> PostgreSQL

función xlookup en SQL

Su consulta es básicamente correcta. El único problema es que probablemente desee todas las filas de c1 con la columna extra de c2 . Para eso, el c1 la tabla debe ser la primera tabla en 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

También eliminé una coma persistente antes del FROM cláusula.

Por supuesto, si todos los SID s en c1 se completan con los valores correctos, entonces no necesita una unión externa en absoluto. En ese caso, el orden de c1 /c2 en el FROM la cláusula no importa.

EDITAR:

Si desea el nombre asociado con el researchId , usaría otro 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