kombinera and och or

Databaser & SQL

3 svar · 227 visningar · startad av daniel_ra

Medlem sedan jan. 2002381 inlägg
Trådstart#1

Jag försöker att kombinera and och or på följande vis:


"Select * from tabell where kolumn1 like '% " & varde & "' or kolumn1 like '" & varde & " %'  or kolumn1 like '% " & varde & " %' AND kolumn1 like '% " & varde2 & "' or kolumn1 like '" & varde2 & " %' or kolumn1 like '% " & varde2 & " %'"

Det jag vill åstadkomma är alltså att kontrollera om varde och varde2 finns i kolumnen kolumn1 i databasen. Båda orden skall alltså finnas. Det som dock händer vid sökning är att den struntar i det som finns efter and. vad jag än skriver in för värde2 så får jag träffar. Mycket underligt. Går det att kombinera and och or på det sätt jag gjort?

Medlem sedan juni 200032 967 inlägg
#2

Det är inte konstigt. Du skola använda parenteser för att gruppera dina villkor.

"Select * from tabell where (kolumn1 like '% " & varde & "' or kolumn1 like '" & varde & " %'  or kolumn1 like '% " & varde & " %') AND (kolumn1 like '% " & varde2 & "' or kolumn1 like '" & varde2 & " %' or kolumn1 like '% " & varde2 & " %')"
Medlem sedan jan. 2002381 inlägg
#3

trodde att or prioriterades framför or.. Tack.. ska testa om jag får det att funka nu då

Medlem sedan juni 200032 967 inlägg
#4

And har högre precedens än or.

Var det det du menade?

(Det är aldrig fel att använda parenteser för att vara tydlig heller - det underlättar ju för det felsökande ögat.)

244 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)