webForumDet fria alternativet

Selectproblem

8 svar · 254 visningar · startad av pilos

pilosMedlem sedan sep. 200123 inlägg
#1

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
#2

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
#3

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
#4

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
#5

Eller en EXCEPT? Jag vet inte hur det fungerar i MySQL iofs.

LarsGMedlem sedan dec. 200012 464 inlägg
#6

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
#7

Nej, jag märkte det också. Däremot i MaxDB fungerar det. :)

pilosMedlem sedan sep. 200123 inlägg
#8

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
#9

Vad menar du med inte fungerar?

SELECT table1.* 
FROM table1 left JOIN table2 
ON table1.ID = table2.tID 
WHERE table2.tID IS NULL
136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
133 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)