Left join

Databaser & SQL

1 svar · 259 visningar · startad av AG

Medlem sedan mars 20001 266 inlägg
Trådstart#1

Har ett problem.
I 'tabellT' finns det ett fält som heter 'name'. I 'tabellC' finns det också ett fält som heter 'name', nu vill jag se vilka 'name' som inte finns med i 'tabellC', men som finns med i 'tabellT'.

Någon nämnde left join, är detta lösningen, och hur skulle isf en kodsnutt se ut.

tack
Andreas

Medlem sedan juni 200032 967 inlägg
#2

Ange alltid vilken dbms du använder, så man slipper gissa. :)

Om man använder en dbms som stödjer subqueries kan du alltid köra en enkel:

SELECT name FROM tabellC WHERE name NOT IN (SELECT name FROM tabellT)

Edit: annars så funkar det såklart med en outer join också. Något sånt här kanske kan duga:

SELECT c.name FROM tabellC c LEFT JOIN tabellA a ON c.name = a.name WHERE a.name IS NULL
252 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)