mysql - 如何使用两个相同的变量和不同的值找到一个 id
问题描述
我必须通过两个值来获取 ID。所以假设当我调用: id - 2 我得到两个值 7 和 6。我想调用 7 和 6 来获得值 2
我有表recipeingredient我应该使用成分 ID 6和7找到配方 ID 2
例子:
SELECT * FROM recipeingredient WHERE recipe_id=2
回报:6 7
但我想逆转。
我认为它应该相当于:
SELECT * FROM recipeingredient WHERE ingredient_id=6 AND ingredient_id=7
应该返回:2但什么也不返回
总结一下:在我的 php 网页上,我必须选择 2 个元素并获得 1 个显示值。它的标签系统。我不能使用 OR,我需要获得值 A 和值 B 的值。
解决方案
您可以使用聚合和 HAVING 子句来实现过滤器,例如:
SELECT recipe_id
FROM recipeingredient
GROUP BY recipe_id
HAVING
SUM(ingredient_id=6) > 0
AND SUM(ingredient_id=7) > 0
推荐阅读
- javascript - (react-router-dom)在子组件中渲染元素无法识别 BrowserRouter
- react-native - 神秘的反应本机获取行为
- typescript - SQLite - 同一事务中的多个调用
- java - 为什么我的程序在我要求时没有退出?
- flutter - 颤动块(cubit)状态未定义?
- vba - 如何在没有附件的情况下转发电子邮件正文中的嵌入图像?
- mongodb - API 上的 401 错误通过 HTTPS,但不是通过 HTTP
- angular - 我们如何刷新或重新加载 Angular 的子组件?
- r - R创建具有最大/最小日期的新列
- kotlin - max string length in compose before clipping