sql >> Database >  >> RDS >> PostgreSQL

xlookup-functie in SQL

Uw vraag is in principe correct. Het enige probleem is dat je waarschijnlijk alle rijen van c1 . wilt hebben met de extra kolom van c2 . Daarvoor is de c1 tabel moet de eerste tabel zijn in de 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

Ik heb ook een aanhoudende komma verwijderd vóór de FROM clausule.

Natuurlijk, als alle SID s in c1 zijn gevuld met de juiste waarden, dan heb je helemaal geen outer join nodig. In dat geval is de bestelling van c1 /c2 in de FROM clausule doet er niet toe.

BEWERKEN:

Als u de naam wilt koppelen aan de researchId , zou je een andere JOIN . gebruiken :

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. Opgeslagen procedure uitvoeren in MySQL Workbench

  2. Problemen oplossen met SQL Server Always On-beschikbaarheidsgroepen

  3. mysql-gegevens voor ouptut opmaken in een tabel

  4. ORA-06508:PL/SQL:kon de aangeroepen programma-eenheid niet vinden