webForumDet fria alternativet
Logga in / Bli medlem

Selectproblem

Databaser & SQL

8 svar · 256 visningar · startad av pilos

Medlem sedan sep. 200123 inlägg
Trådstart#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)
Medlem sedan juni 200032 967 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

Medlem 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.

Medlem sedan juni 200032 967 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

Medlem sedan mars 20007 896 inlägg
#5

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

Medlem 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.

Medlem sedan mars 20007 896 inlägg
#7

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

Medlem 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);
Medlem 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
258 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)