Avatar billede kim_bille Nybegynder
29. december 2003 - 02:54 Der er 4 kommentarer og
1 løsning

MySQL4 syntax til MySQL3 syntax

Jeg har følgende sql querie

SELECT *
FROM geekWords AS gw
WHERE gw.id <> ANY
(
SELECT gv.wordId
FROM geekVotes AS gv
WHERE gv.sessionId = 1
);

Jeg får en fejl ved begyndelsen af parntesen, og gætter på at det er fordi mit webhotel kører "MySQL 3.23.55", jf phpMyAdmin. Yderlige har jeg kunne læse mig til den slags subqueries først kommer med fra version 4

Spm er nu, hvordan udtrykker jeg ovenstående querie i MySql3 syntax
Avatar billede arne_v Ekspert
29. december 2003 - 10:25 #1
subqueries er først fra 4.1 - og jeg jeg ved ikke om det
inkluderer den ANY konstruktion.

Du kan muligvis lave det i 3 som:

SELECT DISTINCT *
FROM geekWords LEFT JOIN geekVotes ON geekwords.id=geekVotes.wordId AND geekVotes.sessionId=1
WHERE geekVotes.wordId IS NULL
Avatar billede billen Nybegynder
29. december 2003 - 10:30 #2
Lige umiddelbart ville jeg tro at det du leder efter er det her:

SELECT
  gw.*
FROM
  geekVotes AS gv LEFT JOIN
  geekWords AS gw ON gv.wordId = gw.ID
WHERE
  gv.sessionId <> 1

Tjekker det lige igennem for at se om det nu også kan passe.
Avatar billede billen Nybegynder
29. december 2003 - 10:44 #3
Jeg tror faktisk at du kan bruge min query. Det kan godt være at du skal tilføje

GROUP BY
  gw.ID

hvis der for hver geekVotes kan være flere geekWords.
Avatar billede kim_bille Nybegynder
29. december 2003 - 15:36 #4
Jeg har ikke så sørens meget styr på sql, men kan konstantere at arne_v's forslag virker, og billen's ikke gør. 
Vil du svare arne?
Avatar billede arne_v Ekspert
29. december 2003 - 15:39 #5
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