webForumDet fria alternativet
Logga in / Bli medlem

Left join

Databaser & SQL

1 svar · 242 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
262 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)