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

xlookup-funktion i SQL

Din forespørgsel er grundlæggende korrekt. Det eneste problem er, at du sandsynligvis vil have alle rækker fra c1 med den ekstra kolonne fra c2 . Til det, c1 tabel skal være den første tabel i 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

Jeg fjernede også et dvælende komma før FROM klausul.

Selvfølgelig, hvis alle SID s i c1 er udfyldt med korrekte værdier, så behøver du slet ikke en outer join. I så fald, rækkefølgen af ​​c1 /c2 i FROM klausul er ligegyldig.

EDIT:

Hvis du vil have navnet tilknyttet researchId , ville du bruge en anden 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



  1. PHP OCI, Oracle og standard talformat

  2. FORALL-erklæring med nedre og øvre grænse i Oracle-databasen

  3. Forstå SUM(NULL) i MySQL

  4. mysql sum, med række-id'er