sql >> Databasteknik >  >> RDS >> PostgreSQL

xlookup-funktion i SQL

Din fråga är i grunden korrekt. Det enda problemet är att du förmodligen vill ha alla rader från c1 med den extra kolumnen från c2 . För det, c1 tabellen ska vara den första tabellen 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

Jag tog också bort ett kvardröjande kommatecken före FROM klausul.

Naturligtvis, om alla SID s i c1 är fyllda med korrekta värden, då behöver du inte en yttre sammanfogning alls. I så fall, beställningen av c1 /c2 i FROM klausul spelar ingen roll.

EDIT:

Om du vill ha namnet kopplat till researchId , skulle du använda en annan 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. Dynamisk Oracle Pivot_In_Clause

  2. Summan av timmar och minuter i SQL Server 2008

  3. Varför fungerar MySql Connector.Net på min Windows-box men inte på Mono?

  4. PhP (Codegniter) Sammanfogning av frågeresultat före varje slinga