PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

função xlookup no SQL


Sua consulta está basicamente correta. O único problema é que você provavelmente quer todas as linhas de c1 com a coluna extra de c2 . Para isso, o c1 table deve ser a primeira tabela no 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

Eu também removi uma vírgula remanescente antes do FROM cláusula.

Claro, se todos os SID s em c1 são preenchidos com valores corretos, então você não precisa de uma junção externa. Nesse caso, a ordenação de c1 /c2 no FROM cláusula não importa.

EDITAR:

Se você quiser o nome associado ao researchId , você usaria outro 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