Если у меня есть база данных, с которой можно увидеть базу данных рецептов, как я могу выбрать все идентификаторы рецептов, которые я могу сделать с данными ингредиентами, например, если у меня есть ингредиент 1 и 4 он вернет 3, поскольку это единственный рецепт, который я могу сделать с этим.выберите во многих отношениях
Будет около 50 ингредиентов и еще много рецептов.
Я вижу несколько возможностей, таких как использование UNION/несколько соединений, но я не вижу простого простого решения этой проблемы.
Recipes Recipes/Ingredients Ingredients
1 1 1 1
2 1 2 2
3 2 1 3
2 3 4
2 4
3 1
3 4
редактировать/
То, что я думал, чтобы решить:
select recipe_id from Recipes
where recipe_id in (
select recipe_id from Recipes_Ingredients where ingredient_Id = 1
UNION
select recipe_id from Recipes_Ingredients where ingredient_Id = 4
)
Это приведет к очень длинным запросам, как моя база данных не совсем о ингредиентах, но о вещах, которые могут иметь 50 или более из этих вещей в них.
[Что вы пробовали] (http://www.whathaveyoutried.com)? – Kermit
проверить эту ссылку http://stackoverflow.com/questions/349559/sql-how-to-search-a-many-to-many-relationship – Mingebag
@Aarolama Bluenk Я искал, и я смогу решить вопрос с помощью СОЮЗ. Я думаю, что это не лучшее решение, и до сих пор я не нашел лучших способов, поэтому я думаю, что люди с ежедневным опытом с этим смогут дать прямой ответ. Я не ожидаю запроса или чего-то еще, просто подходящего способа решения таких запросов. –