Avatar billede supermand69 Nybegynder
09. februar 2004 - 18:40 Der er 8 kommentarer og
1 løsning

left join

Hej... Jeg kan ikke få min query til at virke?!

Hvis jeg gør sådan finder den godt nok de rækker jeg vil have:

SELECT id FROM test.user user LEFT JOIN test.user_music music ON user.id=music.user_id WHERE music.music=6

- men tilføjer jeg " && music.music=16" finder den slet ingen rækker... (?)
Avatar billede arne_v Ekspert
09. februar 2004 - 18:49 #1
Du mener nok:

|| music.music=16
Avatar billede arne_v Ekspert
09. februar 2004 - 18:50 #2
music.music kan jo ikke vøre både 6 og 16 for samme række

(|| er OR, && er AND)
Avatar billede supermand69 Nybegynder
09. februar 2004 - 19:50 #3
jamen så vælger den alt for mange??

her er nu database struktur:

user:
id | name | ...
1 | bent | ...
2 | ib | ...
3 | palle | ...

user_music:
user_id | music
1 | 6
1 | 16
1 | 20
2 | 6
2 | 10
3 | 6
Avatar billede arne_v Ekspert
09. februar 2004 - 20:11 #4
Aha - nu tror jeg at jeg ved hvad du vil.

Prøv med:

SELECT user1.id
FROM test.user user1, test.user_music music1, test.user user2, test.user_music music2
WHERE user1.id=music1.user_id AND user2.id=music2.user_id AND user1.id=user2.id AND
music1.music=6 AND music2.music=16
Avatar billede supermand69 Nybegynder
09. februar 2004 - 20:15 #5
jeg skal kunne vælge de brugere som f.eks. har 6 og 16 i user_music.music
Avatar billede arne_v Ekspert
09. februar 2004 - 20:18 #6
Prøv med den SQL jeg angav - den ser lidt lang ud, men jeg tror at den gør
det du vil
Avatar billede supermand69 Nybegynder
09. februar 2004 - 20:35 #7
kan det virkelig ikke gøres anderledes?? :(

den ser lidt kryptisk ud
Avatar billede arne_v Ekspert
09. februar 2004 - 20:39 #8
Det tror jeg ikke.

Men prøv lige og se om den virker ...
Avatar billede supermand69 Nybegynder
10. februar 2004 - 09:55 #9
jeg tror bare jeg opgiver og laver så man kun søger efter en i user_music... det bliver rimeligt indviklet når man skal søge efter 4 eller mere...
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