Avatar billede galthen Nybegynder
13. maj 2014 - 00:41 Der er 3 kommentarer og
1 løsning

SQL sætning i et kald

Jeg har en database som indeholder bedømmelser af film.

Tabel:Film
Filmid - Brugerid - Stjerner


Jeg vil lave et sql kald som henter alle de brugere som har givet 3 bestemte film 5 stjerner.

Dette kan gøres via 3 sql kald.

Kald 1: SELECT Brugerid WHERE stjerner=5 AND FilmID=film1 (dette kald giver mig alle som har giver film

Her får jeg en liste med Brugerid som gave film1 5 stjerner.

Derefter kan jeg så lave et nyt kald i denne stil.

Kald 2: SELECT Brugerid WHERE (Brugerid=x OR brugerid=x OR brugerid=x) AND stjerner=5 AND FilmID=film2.

Så vil jeg stå med en liste af brugere som have givet film1 og film2 5 stjerner.

Kald 3 ud fra de brugere som er tilbage.

Hvordan laver jeg dette i et SQL kald?
Kan det lade sig gøre?
Avatar billede arne_v Ekspert
13. maj 2014 - 01:10 #1
SELECT f1.brugerid
FROM film f1,film f2,film f3
WHERE f1.brugerid=f2.brugerid
AND f2.brugerid=f3.brugerid
AND f1.stjerner=5
AND f2.stjerner=5
AND f3.stjerner=5
AND f1.filmid=X
AND f2.filmid=Y
AND f3.filmid=Z
Avatar billede galthen Nybegynder
13. maj 2014 - 09:01 #2
Tak for svaret arne.

Jeg har dog svært ved helt at forstå det og få det til at virke. (har ikke arbejdet meget med SQL)

film f1. Hvad står dette for?
filmid=x filmid=y. Hvad betyder dette.
Avatar billede galthen Nybegynder
13. maj 2014 - 09:14 #3
Nu fik jeg det til at virke :)
Fedt!
Avatar billede arne_v Ekspert
13. maj 2014 - 15:10 #4
Saa vil jeg smide et 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