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>
2 svar · 524 visningar · startad av Claysson
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
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>
Tackar :)