Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何执行多对多关系筛选查询_Mysql_Sql_Many To Many - Fatal编程技术网

Mysql 如何执行多对多关系筛选查询

Mysql 如何执行多对多关系筛选查询,mysql,sql,many-to-many,Mysql,Sql,Many To Many,我想在MySQL中基于过滤器执行查询。首先,查询中将使用的两个表如下: 设备: 领域 类型 身份证件 PK,整数 名称 瓦查尔(50) 请尝试以下查询: SELECT P.EquipmentID, E.Name FROM Pivot P JOIN Equipments E ON P.EquipmentID=E.Id WHERE E.RecipeId IN (1,2,3) GROUP BY P.EquipmentID, E.Name HAVING COUNT(*)=3; 加入Pivot和设备

我想在MySQL中基于过滤器执行查询。首先,查询中将使用的两个表如下:

设备:

领域 类型 身份证件 PK,整数 名称 瓦查尔(50) 请尝试以下查询:

SELECT P.EquipmentID, E.Name
FROM Pivot P 
JOIN Equipments E ON P.EquipmentID=E.Id
WHERE E.RecipeId IN (1,2,3) 
GROUP BY P.EquipmentID, E.Name
HAVING COUNT(*)=3;
  • 加入
    Pivot
    设备
  • 添加条件
    ,其中E.RecipeId位于(1,2,3)
  • 按P.EquipmentID,E.Name添加
    分组
  • 添加计数(*)为3的
    对于任何一组出现3次的
    P.EquipmentID,E.Name
    ;有效地符合“仅在Receipe 1,2,3中出现的设备ID”的条件

  • 我很困惑。。。您可以为这两个表发布几行数据示例,暂时跳过
    JSON
    。关注如何在纯MySQL中获得结果,然后只转换为所需的
    JSON
    输出。顺便说一句,试着写一个查询并在那里实现你的条件。它不必是一个工作查询。。一个可以说明你所追求的应该足够了。好的@FaNo_FN,我编辑了postSo
    Pivot
    是数据库中的一个真实表,对吗?不是通过查询生成的表?是的,是一个真实的表如果是这样的话,您似乎只需要对
    配方进行
    Pivot
    检查并
    设备
    表连接即可获得
    名称