select drinkid
from t as q
where ingrid in (<lista>)
group by drinkid
having count(*) =
(select count(*)
from t
where t.drinkid = q.drinkid)
Jag håller på med ett projekt som rör drinkar och drinkrecept. Där ska man från en sida kunna ange vilka ingredienser man har hemma i en checkboxlista och få drinkförslag grundat på dessa val.
Det jag har lite problem med att fundera ut är hur jag ska plocka ut de drinkar som man kan göra. Alla ingredienser i en drink måste ju vara med på den lista man gjort men kombinationerna kan ju skilja sig helt. Hur gör man en förfågan till en databas med den grunden?
Den tabell som man hämtar ifrån har kolumnerna drinkId och ingrediensId och ser då ut tex drinkId: 2 / ingrId: 3, drinkId: 2 / ingrId: 8 om ni förstår vad jag menar.