mysql - 如何在 MySql/Jpa 上的多对多关系中找到包含(另一个实体的)id 列表的实体?
问题描述
我有 3 张桌子:
- 食谱(ID,名称)
- Recipes_Ingredients(id, fk_recipe, fk_ingredient, 数量)
- 成分(ID,名称)
我需要找到包含提供的成分列表的所有食谱。
埃斯:
我提供了一个成分列表,例如 111(盐)、222(胡椒)、333(油),我需要找到所有包含这些成分的食谱。查询应该返回所有包含这些成分的食谱。
我还需要一种将查询报告回 Jpa 的方法。
提前致谢!
解决方案
SELECT fk_recipe
FROM Recipes_Ingredients
WHERE fk_ingredient IN (111,222,333)
GROUP BY fk_recipe
HAVING COUNT(DISTINCT fk_ingredient) = 3
加入Recipes
,Ingredients
如果需要。
推荐阅读
- javascript - 从 NodeJS 过滤嵌套数组
- reactjs - 在 Chrome 中禁用同源策略的自定义 React 启动脚本
- sql - 2 级折扣之和
- node.js - VScode 中的 NodeJs 终端配置
- android - Android Room db 一对多与列表字段
- r - 如何使用 dlm 建立温度结果模型?
- powershell - 修改powershell脚本添加额外参数
- react-native - 如何使用 createBottomTabNavigator 将 TouchableWithoutFeedback 和 TouchableNativeFeedback 呈现为选项卡按钮?
- sql - 带有时间戳的复杂 SQL 查询
- firebase - 如何在没有 Firebase 功能的情况下部署到 Firebase?