Lägg till kritierier med array

Databaser & SQL

2 svar · 546 visningar · startad av Claysson

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

Hej,

Jag behöver en knuff i rätt riktning med följande problem:

Jag har en sökfunktion där man kan söka bilar, till dessa bilar finns tillbehör såsom metalliclack, sportpaket, dragkrok etc.

När man väljer t.ex. två tillbehör så skall givetvis alla bilar uppfylla dessa kritierier från urvalet. Det jag först tänkte var att använda IN() funktion i SQL, men denna använda 'OR' mellan kriterierna, jag önskar använda 'AND'.

jag vill inte använda en vanlig 'AND' för det kommer bli 40-50 tillbehör, så det känns väldigt ohållbart, men kanske mest optimerat? jag användar dynamisk SQL och MSSQL-server.

//claysson

Medlem sedan dec. 200012 464 inlägg
#2

Frågan behöver se ut som

select bilnamn
   from bilar join tillbehör
      on bilar.id = tillbehör.bilid
 where tillbehör.namn in ('tillbehör1','tillbehör2', ...)
 group by bilnamn
 having count(*) = <antal tillbehör>
Medlem sedan jan. 200454 inlägg
#3

Tackar :)

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