Avatar billede straszek Praktikant
12. juni 2008 - 20:16 Der er 6 kommentarer og
1 løsning

hvor flere ting er opfyldt

Hej jeg har denne forespørgsel.

SELECT DISTINCT member.member_id, member.member_mobil FROM member, member_options where member.member_mobil!='' AND member_options.option_id = '8' AND member_options.option_id = '12' AND member_options.member_id=member.member_id

Den burde finde en post men det gør den ikke, den skal altså finde member_id & member_mobil fra member hvor det pågældende member har option_id 8 og option_id 12

Det kan godt finde en der har option_id 8 og en der har option_id 14 men ikke en der har begge - selvom det findes

Nogen bud?
Avatar billede dalbjerg Nybegynder
12. juni 2008 - 20:21 #1
AND member_options.option_id = '8' AND member_options.option_id = '12'

hmm burde det ikke være AND (member_options.option_id = '8' OR member_options.option_id = '12')

for option_id kan der ikke både være 8 og 12?
Avatar billede straszek Praktikant
12. juni 2008 - 20:27 #2
jo det kan være både 8 eller 12, so en (OR) kan ikke bruges
Avatar billede arne_v Ekspert
12. juni 2008 - 21:13 #3
proev:

SELECT member.member_id, member.member_mobil
FROM member, member_options mo1, member_options mo2
WHERE mo1.member_id=member.member_id AND mo2.member_id=member.member_id
      AND mo1.option_id = 8 AND mo2.option_id = 12
      AND member.member_mobil <> ''
Avatar billede straszek Praktikant
12. juni 2008 - 21:59 #4
Hej Arne,

Det virker perfekt, smid et svar og du skal få point.

Kan du for forståelsens skyld forklar hvad den gør?
Avatar billede arne_v Ekspert
12. juni 2008 - 22:29 #5
svar
Avatar billede arne_v Ekspert
12. juni 2008 - 22:30 #6
det hedder en self join

pointen er at du joiner en raekke fra member med 2 forskellige raekker fra member_options - og derfor skal man faktisk hente fra 3 tabeller hvoraf de 2 dog
er den samme
Avatar billede straszek Praktikant
12. juni 2008 - 22:44 #7
takker
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