webForumDet fria alternativet

AND och OR?

Databaser & SQL

4 svar · 351 visningar · startad av PlayerOne

Medlem sedan maj 200062 inlägg
Frågan#1

Varför fungerar inte följande AND-villkor? Jag får inget felmeddelande, den köper bara inte det. Har det nåt med prioriteringen av AND och OR att göra?

SQLStmt = "SELECT * FROM Kategorier INNER JOIN Events ON Kategorier.KatId = Events.KatId WHERE Event LIKE '%" & FixaTecken(Request.Form("sok")) & "%'"
SQLStmt = SQLStmt & " OR Info LIKE '%" & FixaTecken(Request.form("sok")) & "%'"
SQLStmt = SQLStmt & " OR Plats LIKE '%" & FixaTecken(Request.form("sok")) & "%'"
SQLStmt = SQLStmt & " OR KatNamn LIKE '%" & FixaTecken(Request.form("sok")) & "%'"
SQLStmt = SQLStmt & " AND Slutdatum < '" & date & "'" 
SQLStmt = SQLStmt & " ORDER BY StartDatum DESC, Tid DESC"
	
Set RS = Connection.Execute(SQLStmt)
Medlem sedan juni 200032 967 inlägg
#2

du får la gruppera med parentes runt alla or-villkoren.

lite svårt dock, eftersom du inte uppger vad det är du vill åstadkomma.

------------------
@nders

Medlem sedan maj 200062 inlägg
#3

Det är en sökfunktion som ska söka igenom fälten Event, Info, Plats och KatNamn efter det man har anget i formuläret 'sok'. Det funkar bra om jag vill ha alla poster som stämmer in på sökningen, men jag skulle endast vilja ha posterna där attributet SlutDatum är äldre än dagens datum

Medlem sedan juni 200032 967 inlägg
#4
...where (event like ... or info like ... or plats like ... or katnamn like ...) and slutdatum ...

alltså, parentes runt alla or-villkor.

------------------
@nders

Medlem sedan maj 200062 inlägg
#5

Hur fixar jag det när det står på olika rader?
Glöm det, det fixade sig...

[Redigerat av PlayerOne den 12 jul 2000]

252 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)