drewMedlem sedan mars 2007845 inlägg Jag har 3 tabeller. tabell_1 inehåller bl a knd_id och frakt_id. tabell_2 innehåller knd_id och tabell_3 innehåller fakt_id.
Jag vill hämta raderna i från tabell_1 där knd_id finns i tabell_2 men frakt_id inte finns i tabell_3.
Om frakt_id finns i tabell_3 finns också motsvarande knd_id i tabell_2. Men det är inte säkert att knd_id i tabell_1 finns i tabell_2.
Jag har försökt på flera olkia sätt men får inte till det. Någon?
/D
emissionMedlem sedan dec. 19996 721 inlägg
drew skrev:
Jag vill hämta raderna i från tabell_1 där knd_id finns i tabell_2 men frakt_id inte finns i tabell_3.
SELECT * FROM tabell_1 WHERE knd_id IN (SELECT knd_id FROM tabell_2) AND frakt_id NOT IN (SELECT frakt_id FROM tabell_3)
drewMedlem sedan mars 2007845 inlägg Toppen funkade perfekt. Tack.
Men, kommer tabell_2 och tabell_3 att bläddras genom för varje rad i tabell_1 eller är MySQL smart nog att buffra på något sätt? Det kan finnas ganska många rader i alla 3 tabellerna.
/D
emissionMedlem sedan dec. 19996 721 inlägg MySQL torde vara smart nog.
Man kan ta ut resultatet på att antal sätt (INNER JOIN + LEFT OUTER JOIN eller en EXISTS-fråga) men jag valde ovanstående eftersom det i det närmaste är en klarspråksfråga.