Hejsan!
Har ett vanlig relationsscenario, två tabeller med en relationstabell.
Hur skriver jag för att hämta alla företag som har ex. FilterId 1 och 2?
Med filterid 1 och 2 så ska jag bara få upp 'Mitt företag'.
Väljer jag istället ex. 2 och 3 så ska endast 'Mitt företag 2' komma upp.
Och skulle jag bara välja 2 så ska båda företagen komma upp.
FilterId kommer in som en parameter i en sp.
(Använder sql server 2005)
select c.company
from companies c
inner
join companiesfilters cf
on c.companyid = cf.companyid
inner
join filters f
on cf.filterid = f.filterid
where f.filterid
in (<filter ids>)
group
by c.company
having count(*) = <# of filter ids>
Exempel:
select c.company
from companies c
inner
join companiesfilters cf
on c.companyid = cf.companyid
inner
join filters f
on cf.filterid = f.filterid
where f.filterid
in (2,3)
group
by c.company
having count(*) = 2