/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
AND OR samtidig ?
Fra : Festfagbogen.dk


Dato : 26-08-06 19:51

Et sikkert simpelt spørgsmål hvis man ved det

Hvis man har disse 4 data i en tabel ex.
FIELD1 FIELD2 FIELD3
x x x
x
x
x

Hvis man så i en mysql query skriver ex. WHERE FIELD1='x' AND FIELD2='x'
OR FIELD3='x'
finder den den først hvor alle har kryds og den sidste fordi felt 1 eller 2
SKAL indeholde x eller også skal felt 3 indeholde x

Man hvad nu hvis det skal være sådan at felt 1 SKAL indeholde x og bare
felt 2 eller 3 skal indeholde x
Altså AND FIELD1='1' AND FIELD2eller3='x'
Så den vælger kun den første.


Kan man det ?


mvh
Michael Henriksen
www.Festfagbogen.dk



 
 
N9 (26-08-2006)
Kommentar
Fra : N9


Dato : 26-08-06 21:16

Hej
>
> Kan man det ?
>

Kender ikke så meget til mysql, men prøv med ()

f.eks.

WHERE (FIELD1='x' AND FIELD2='x' )
OR FIELD3='x'

Håber at du kan bruge det til noget

N9



Carsten Pedersen (27-08-2006)
Kommentar
Fra : Carsten Pedersen


Dato : 27-08-06 16:12


"Festfagbogen.dk" <mail@festfagbogen.dk> skrev i en meddelelse
news:44f09817$0$20325$edfadb0f@dread16.news.tele.dk...
> Et sikkert simpelt spørgsmål hvis man ved det
>
> Hvis man har disse 4 data i en tabel ex.
> FIELD1 FIELD2 FIELD3
> x x x
> x
> x
> x
>
> Hvis man så i en mysql query skriver ex. WHERE FIELD1='x' AND
> FIELD2='x' OR FIELD3='x'
> finder den den først hvor alle har kryds og den sidste fordi felt 1 eller
> 2 SKAL indeholde x eller også skal felt 3 indeholde x
>
> Man hvad nu hvis det skal være sådan at felt 1 SKAL indeholde x og bare
> felt 2 eller 3 skal indeholde x
> Altså AND FIELD1='1' AND FIELD2eller3='x'
> Så den vælger kun den første.
>
>
> Kan man det ?

Prøv med WHERE FIELD1='x' AND (FIELD2='x' OR FIELD3='x')

Derved bliver de to sidste felter behandlet som et samlet udtryk, der
returnerer sand, hvis der blot er et kryds i det ene af dem.

Mvh

C@rsten



Per Rønne (27-08-2006)
Kommentar
Fra : Per Rønne


Dato : 27-08-06 17:32

Festfagbogen.dk <mail@festfagbogen.dk> wrote:

> Et sikkert simpelt spørgsmål hvis man ved det
>
> Hvis man har disse 4 data i en tabel ex.
> FIELD1 FIELD2 FIELD3
> x x x
> x
> x
> x
>
> Hvis man så i en mysql query skriver ex. WHERE FIELD1='x' AND FIELD2='x'
> OR FIELD3='x'
> finder den den først hvor alle har kryds og den sidste fordi felt 1 eller 2
> SKAL indeholde x eller også skal felt 3 indeholde x
>
> Man hvad nu hvis det skal være sådan at felt 1 SKAL indeholde x og bare
> felt 2 eller 3 skal indeholde x
> Altså AND FIELD1='1' AND FIELD2eller3='x'
> Så den vælger kun den første.
>
>
> Kan man det ?

Taler du om performance eller hvad?

Operatorhierarkiet er det sædvanlige:

a and b or c = (a and b) or c ≠ a and (b or c).

Den finder således alle hvor felt3 = 'x', og derudover alle som i
felterne felt1 og felt2 har samme værdi. Dubletter optræder naturligvis
ikke, da der er tale om en relationsdatabase, og tabellerne derfor er
relationer [mængder af tupler / poster / rækker]. {a, b} union {a, c} er
jo også {a, b, c}, ikke {a, b, b, c}.

--
Per Erik Rønne
http://www.RQNNE.dk

Festfagbogen.dk (27-08-2006)
Kommentar
Fra : Festfagbogen.dk


Dato : 27-08-06 17:32

Selvfølgelig skal det være med ()... Mange tak skal I have



Søg
Reklame
Statistik
Spørgsmål : 177455
Tips : 31962
Nyheder : 719565
Indlæg : 6408147
Brugere : 218880

Månedens bedste
Årets bedste
Sidste års bedste