webForumDet fria alternativet
Logga in / Bli medlem

Problem med IN

Databaser & SQL

5 svar · 244 visningar · startad av Wiklund!!

Medlem sedan juli 2002549 inlägg
Trådstart#1

Jag vill kolla om en kolumn innehåller olika värden. Antar att det är IN man ska använda sig av.
Har testat och göra så här:

SQL = "SELECT admin,username,id FROM users WHERE admin IN ("<>all<>,<>forum_skateboard<>") and deleted <> 'yes' ORDER BY id DESC"

Felmesset jag får ser ut så här:

Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
Medlem sedan juni 200032 967 inlägg
#2

Du skall omsluta alla av de ingående strängarna i IN med apostrofer.

SQL = "SELECT admin,username,id FROM users WHERE admin IN ('<>all<>','<>forum_skateboard<>') and deleted <> 'yes' ORDER BY id DESC"

mvh

Medlem sedan juli 2002549 inlägg
#3

Tackar!

Medlem sedan juli 2002549 inlägg
#4

Det var nog inte IN jag skulle använda mig av. Kolumnen admin kan innehålla fler saker än <>forum_skateboard<>.
Tex: <>forum_skateboard<>checkphotos<>

Så jag måste på nått sätt kolla om kolumnen admin innehåller
<>forum_skateboard<> nånstans.

När jag inte använder mig av en sql sats har jag gjort så här:

if (Instr(Session("admin"),"<>all<>") > 0 or Instr(Session("admin"),"<>forum_skateboard<>") > 0) Then
Medlem sedan dec. 200012 464 inlägg
#5

Kolumnen admin kan innehålla fler saker än <>forum_skateboard<>.

Nej det där är helt fel design. Gör om, gör rätt. Lagra inte flera saker i en kolumn. Skapa en till tabell där varje värde ligger som en egen post.

Medlem sedan juli 2002549 inlägg
#6

Borde väll gå att lösa med Instr?
Mkt extra jobb annars.

520 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
393 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)