Avatar billede 123maka Nybegynder
28. september 2009 - 03:44 Der er 1 løsning

Finde alle dem der matcher, eller alle!

Hej eksperter
Jeg har følgende database struktur:

Sporgsmal:
id - integer
tekst - varchar

Sessions:
sporgsmalid - integer
sessionid - varchar

Svar:
sessionid - varchar
sporgsmalid - integer
answer - integer

Når en bruger med sessionid 57fe0657e13ec989a7ce6217fdf34f39 svarer på et spørgsmål, bliver der oprettet et svar.

Nu ønsker jeg at finde alle de spørgsmål, som brugeren ikke har svaret på endnu. Sig at vi har 4 spørgsmål i databasen med id 1,2,3,4. Brugeren har svaret på spørgsmål 4, så vores query skal svar 1,2,3 tilbage.

Dette har jeg løst med følgende:
SELECT spgs.id FROM spgs,svar WHERE spgs.id <> svar.spgsid AND svar.sessionid = '57fe0657e13ec989a7ce6217fdf34f39'

Problemet er bare at hvis brugeren endnu ikke har svaret på nogle endnu, så returnerer min query ikke nogle værdier. Kan man ændre mit kald til at returnere alle spørgsmåls ID'er hvis der ikke findes nogle svar endnu?

På forhånd tak.
Avatar billede 123maka Nybegynder
20. april 2010 - 20:15 #1
Lukketid
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