Я пытаюсь выбрать все рецепты, которые содержат заданное количество ингредиентов. Я в состоянии найти все рецепты, основанные на одной заданной recipe_id с:SQL - запрос многих-ко-многим
SELECT name
FROM recipe
INNER JOIN recipe_ingredient
ON recipe.recipe_id = recipe_ingredient.recipe_id
WHERE recipe_ingredient.recipe_id = ?
Но у меня возникают проблемы выяснить, что запрос должен выглядеть, когда я ищу рецепты, которые содержат больше, чем содержать более одного конкретного ингредиента. Для примера Ингредиент A и B. Ингредиент
Мои таблицы выглядеть следующим образом:
ingredient
-ingredient_id
-name
recipe_ingredient
-recipe_ingredient
-ingredient_id
-recipe_id
recipe
-recipe_id
-name
Я был бы очень рад, о каких-либо идей о том, как решить эту проблему! Спасибо.
Существует различие, чтобы быть здесь. Вы хотите, чтобы все Рецепты имели более одного ингредиента, независимо от того, какие ингредиенты есть? Или вы хотите, чтобы все рецепты, содержащие конкретные ингредиенты? Это не ясно из вашего вопроса, но есть ответы, чтобы ответить на оба вопроса: – EoinS
Вы правы, мой вопрос был недостаточно ясным. Простите за это. Я ищу все рецепты, содержащие специфический ингредиент! – ArtemisUser
Хорошо - я обновил свой ответ на основе этого комментария – kbball