Avatar billede mickeyboy Nybegynder
13. april 2005 - 20:27 Der er 4 kommentarer og
1 løsning

Problem med "WHERE ID NOT IN (SELECT ID osv)"

Jeg vil vise en oversigt over billeder, som en bruger ikke har set. I manualen til MySQL har jeg fundet følgende dokumentation, som jeg kan bruge:

"SELECT s1 FROM t1 WHERE s1 IN (SELECT s1 FROM t2);"

Den har jeg så erstattet med

"SELECT ID, Filnavn FROM JUL2003_Billede WHERE ID NOT IN (SELECT ID FROM JUL2003_Billede_VisLog WHERE Bruger_ID = $SESSION_BrugerID) ORDER BY ID"

Jeg får følgende fejl:
"You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT ID FROM JUL2003_Bil"

"SELECT ID FROM JUL2003_Billede_VisLog WHERE Bruger_ID = $SESSION_BrugerID)" giver følgende resultat:

1
2
3
4
5

og

"SELECT ID, Filnavn FROM JUL2003_Billede WHERE ID NOT IN (1, 2, 3, 4, 5) ORDER BY ID"

giver det ønskede resultat - altså en liste over ID'er og filnavne på de billeder, som brugeren ikke har set.

Men hvorfor virker det ikke når jeg kører det i én forespørgsel?På forhånd tak.
Avatar billede arne_v Ekspert
13. april 2005 - 20:30 #1
Hvilken version af MySQL ?

Den SQL kræver version 4.1 !
Avatar billede mickeyboy Nybegynder
13. april 2005 - 20:40 #2
Ups.

phpinfo er så flink at fortælle mig under MySQL:
Client API version: 4.0.16

Så problemet er løst, men hvorfor synes jeg ikke at kunne finde noget om versionsnummeret inde på http://dev.mysql.com/doc/mysql/en/any-in-some-subqueries.html ?

arne_v: skriv lige et svar og pointene er dine :-)
Har fundet et andet alternativ til problemet.
Avatar billede arne_v Ekspert
13. april 2005 - 20:43 #3
Avatar billede arne_v Ekspert
13. april 2005 - 20:44 #4
og svar
Avatar billede mickeyboy Nybegynder
13. april 2005 - 20:47 #5
Tak for hjælpen - og hurtigt svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester