mysql - 如何找到一个 id,两个相同的变量和不同的值

标签 mysql sql group-by

我必须通过两个值来获取 ID。 所以假设当我调用:id - 2 我得到两个值 7 和 6。 我想调用 7 和 6 来获取值 2

我有一个表recipeingredient,我应该在其中使用ingredient_id 67

找到recipe_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

关于mysql - 如何找到一个 id,两个相同的变量和不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54735355/

相关文章:

sql - 对具有别名的列求和时出现错误

mysql - 如何在 mysql 中使用 COUNT() 和 where ?

php - PHP 循环数组逻辑错误

MySql 移动差异?

Mysql 提交有时需要几分钟才能完成

python - Pandas 分组、过滤和绘图

mysql - 如何聚合 GROUP BY 查询中的非聚合值?

php - mysql/php 从查询中获取结果并返回表名称,结果在哪里找到?

php - mysql 到 PDO 这个查询有什么问题?

php - 在 PHP 文档中使用 SQL 查询数据库中的两个表时遇到困难