Avatar billede Slettet bruger
21. januar 2011 - 14:55 Der er 14 kommentarer og
1 løsning

Problemer med Where sætning

Jeg skal hente data fra min tabel med en where funktion.

Where plads = 1,2 eller 3.

Jeg synes jeg har prøvet alle mulige kombinationer men det virker ikke.

Hvis jeg skriver where plads = 1 or plads = 2 or plads = 3
Så får jeg dem på plads 1 2 og 3 men jeg får 2 af hver, selvom der kun er en i database, og den henter også kun en af hver hvis jeg nøjes med at skrive where plads = 1


Hvordan laver jeg en where med 3 muligheder i 1 row?

her er min kode stump:


mysql_query("SELECT * from valg Where v_plads = 1 OR v_plads = 2 OR v_plads = 3 AND v_runde = 2 ORDER BY.....
Avatar billede ksoren Nybegynder
21. januar 2011 - 14:58 #1
OR og AND er ikke lige vigtige. De er ligesom plus og gange i matematik. Så der er usynlige parenteser i din sætning

SELECT * from valg Where v_plads = 1 OR v_plads = 2 OR (v_plads = 3 AND v_runde = 2)

Så hvis du selv sætter de, så tror jeg, det vil virke
Avatar billede e.oersted Nybegynder
21. januar 2011 - 15:03 #2
Med andre ord (undskyld min indblanding :-)
SELECT *
FROM valg
WHERE ( v_plads = 1 OR v_plads = 2 OR v_plads = 3 )
AND v_runde = 2
Avatar billede Slettet bruger
21. januar 2011 - 15:05 #3
HOLD NU :P
For ***** jeg er dum...
Jeg har prøvet næsten alt undtagen den der.. :P

prøvede med v_plads = (1 OR 2 OR 3), hvorfor tænkte jeg ikke på at sætte plads med ind...

1000 tak :) smid et svar :o)
Avatar billede arne_v Ekspert
21. januar 2011 - 15:05 #4
eller WHERE plads IN (1,2,3)
Avatar billede Slettet bruger
21. januar 2011 - 15:05 #5
Hehe oersted... Havde jeg set, Men jeg forstod pointen i det der stod og fik det til at virke :0)
Avatar billede Slettet bruger
21. januar 2011 - 15:08 #6
Se, arne_v's svar var også brugbart. Det fylder også mindre så tror jeg vil bruge det..

Er det så ham der skal have point eller skal de deles? Begge svar var jo rigtigte?
Avatar billede mons Nybegynder
21. januar 2011 - 15:11 #7
Eller er det det her du mener:


SELECT * from valg Where v_runde = 2 and (v_plads = 1 OR v_plads = 2 OR v_plads = 3)

Altså: at v_runde skal være 2 i alle tilfælde, og så kan v_plads være 1,2 eller 3
Avatar billede Slettet bruger
21. januar 2011 - 18:48 #8
Jeps mons... Det var det der blev ment i #1 og #2
Avatar billede Slettet bruger
21. januar 2011 - 22:49 #9
Mangler stadig et svar fra enten Arne_V, ksoren eller begge.
Avatar billede arne_v Ekspert
22. januar 2011 - 23:25 #10
Jeg synes at de skal gå til ksoren for en forklaring på problemet.
Avatar billede Slettet bruger
24. januar 2011 - 03:32 #11
Jamen så må vi håbe at han sender et svar :)
Avatar billede ksoren Nybegynder
24. januar 2011 - 16:50 #12
arne gav en alternativ løsning, så han må gerne få dem :)
Avatar billede Slettet bruger
02. februar 2011 - 21:39 #13
Jamen hvis bare en af jer bare vil smide et svar vil jeg da blive glad :)
Avatar billede arne_v Ekspert
03. februar 2011 - 01:26 #14
ksoren!
Avatar billede Slettet bruger
17. maj 2011 - 12:33 #15
Lukker
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