Mysql
 sql >> Base de données >  >> RDS >> Mysql

Afficher le nom de la recette si tous ses ingrédients sont déjà indiqués

nous devons ignorer toutes les recettes qui contiennent des ingrédients autres que le poulet et la mayonnaise, donc quelque chose comme ci-dessous devrait fonctionner :

SELECT * from recipe r
INNER JOIN relationship ri on r.id=ri.recipe_id
INNER JOIN ingredients i on i.id=ri.ingredients_id
WHERE i.ingredients_name IN ('chicken','mayonnaise')
and r.id not in (select r.id from recipe r
INNER JOIN relationship ri on r.id=ri.recipe_id
INNER JOIN ingredients i on i.id=ri.ingredients_id
WHERE i.ingredients_name not IN ('chicken','mayonnaise'))