【问题标题】:Find an entity that exactly containing a list of provided id (of the other entity) in a many-to-many relation on MySql? [duplicate]在MySql上的多对多关系中找到一个完全包含提供的ID(另一个实体)列表的实体? [复制]
【发布时间】:2021-07-17 15:25:36
【问题描述】:
我有 3 张桌子:
-
食谱(ID、名称)
-
Recipes_Ingredients(id、fk_recipe、fk_ingredient、数量)
-
成分(id、名称)
我需要找到所有包含所提供的成分 ID 列表的食谱。
Es:
我提供了一个成分 ID 的列表,例如 111(盐)、222(胡椒)、333(油),我需要找到所有具有仅的食谱这些成分。
因此,如果一个食谱有这些成分(我提供的 id 列表)+ 其他成分,则不必显示
提前致谢!
【问题讨论】:
标签:
mysql
sql
search
spring-data-jpa
【解决方案1】:
SELECT fk_recipe
FROM Recipes_Ingredients
GROUP BY fk_recipe
HAVING SUM(fk_ingredient IN (111,222,333)) = COUNT(*)