webForumDet fria alternativet

Hur ska paranteserna placeras i denna fråga?

Databaser & SQL

6 svar · 300 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1
SELECT * FROM T_inventory WHERE category_id = 22 AND status_id = 1 OR status_id = 3 AND purchased_date < #2005-02-22 17:04:00# ORDER BY purchased_date
Medlem sedan dec. 200012 464 inlägg
#2
SELECT * 
FROM T_inventory 
WHERE category_id = 22 
AND status_id in (1,3) 
AND purchased_date < #2005-02-22 17:04:00# 
ORDER BY purchased_date
Medlem sedan maj 20012 080 inlägg
#3

Kan man även skriva:

SELECT * 
FROM T_inventory WHERE 
[b]category_id in (22)[/b] 
AND status_id in (1,3,14,15) 
AND purchased_date < #2005-02-22 17:04:00# 
ORDER BY purchased_date

Jag försöker skriva en "dynamisk fråga" som förändras rätt kraftigt beroende på valen i mitt GUI. Ovan hade varit tacksamt. Alltså att man kan köra IN varianten även när det är ett enkelt val.

Medlem sedan dec. 200012 464 inlägg
#4

in = går inte så bra men du kan använda in om det är minst ett värde

Medlem sedan maj 20012 080 inlägg
#5

Flåt. Redigerade bort det innan. Men frågan var om det går att köra:

category_id in (22)

Dvs inte flera val.

? :)

Medlem sedan dec. 200012 464 inlägg
#6

Svar: Ja, in fungerar med ett värde i listan.

Medlem sedan maj 20012 080 inlägg
#7

Perfekt.!

Du är underbart snabb på att svara. Härmed skänker jag 100 virtuella crediter till Lars.

255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)