提问者:小点点

在MySQL上找到一个包含多对多关系中提供的(其他实体的)id列表的实体?[副本]


我有三张桌子:

  • 制作方法(id,name)
  • 配方_frequents(id,fk_recipe,fk_frequentent,quantity)
  • 成分(id,名称)

我需要找到所有的食谱,包含确切提供的配料ID列表。

ES:

我提供了一个像111(盐),222(胡椒),333(油)的配料id列表,我需要找到所有只有这些配料的食谱。

因此,如果一个食谱包含这些成分(我提供的id列表)+其他成分,它就不必显示

提前道谢!


共1个答案

匿名用户

SELECT fk_recipe
FROM Recipes_Ingredients
GROUP BY fk_recipe
HAVING SUM(fk_ingredient IN (111,222,333)) = COUNT(*)