pilosMedlem sedan sep. 200123 inlägg Har en tabell som innhåller vissa tillgängliga object table1(ID, Name) och sedan en tabell med valda object table2(ID,tID). Jag vill nu plocka ut de object från table1 som inte finns med i table2. Jag har testat lite men lyckas inte..
Mitt försök som inte fungerade:
SELECT * FROM table1 WHERE ID NOT IN (SELECT tID FROM table2)
@ndersMedlem sedan juni 200032 969 inlägg Subqueries fungerar bara i nyare versioner av MySQL, men du bör kunna lösa det med en join.
SELECT table1.* FROM table1 INNER JOIN table2 ON table1.ID = table2.tID WHERE table2.tID IS NULL
Mvh
pilosMedlem sedan sep. 200123 inlägg Nja, den fungerade iaf inte. Vet inte om jag kanske förklarade lite otydligt.
tabell1::Frukt
ID Name
1 Banan
2 Äpple
3 Apelsin
4 Kiwi
tabell2::ValdaFrukter
ID FruktID
1 2
2 3
Det jag nu vill är att min SQL-sats ska retunera är kort och gott Banan och Kiwi.
@ndersMedlem sedan juni 200032 969 inlägg Nej, det fungerar inte, eftersom jag skrev fel.
Jag förstod nog rätt från början, men tänkte fel i mitt exempel. Prova med en LEFT OUTER JOIN istället.
Mvh
SPiNMedlem sedan mars 20007 896 inlägg Eller en EXCEPT? Jag vet inte hur det fungerar i MySQL iofs.
LarsGMedlem sedan dec. 200012 464 inlägg
Eller en EXCEPT? Jag vet inte hur det fungerar i MySQL iofs.
Tja, det fungerar ungefär inte alls.
SPiNMedlem sedan mars 20007 896 inlägg Nej, jag märkte det också. Däremot i MaxDB fungerar det. :)
pilosMedlem sedan sep. 200123 inlägg
Prova med en LEFT OUTER JOIN istället
Fungerade inte det heller.
Hade man haft tillgång till mySQL 4.1 istället för 4.0.x så hade följande fungerat. :(
SELECT s1 FROM t1 WHERE s1 <> ANY (SELECT s1 FROM t2);
LarsGMedlem sedan dec. 200012 464 inlägg Vad menar du med inte fungerar?
SELECT table1.*
FROM table1 left JOIN table2
ON table1.ID = table2.tID
WHERE table2.tID IS NULL