PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

fonction xlookup en SQL

Votre requête est fondamentalement correcte. Le seul problème est que vous voulez probablement toutes les lignes de c1 avec la colonne supplémentaire de c2 . Pour cela, le c1 table doit être la première table dans le 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

J'ai également supprimé une virgule persistante avant le FROM clause.

Bien sûr, si tous les SID s en c1 sont remplis avec des valeurs correctes, alors vous n'avez pas du tout besoin d'une jointure externe. Dans ce cas, l'ordre de c1 /c2 dans le FROM la clause n'a pas d'importance.

MODIFIER :

Si vous souhaitez que le nom soit associé au researchId , vous utiliseriez un autre 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