Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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_Conditional_Normalization - Fatal编程技术网

基于另一个表的条件在一个MySQL表中查找条目

基于另一个表的条件在一个MySQL表中查找条目,mysql,conditional,normalization,Mysql,Conditional,Normalization,我有一张硬件表和一张事故表。每个硬件都有一个唯一的标记,事件都绑定到该标记 如何选择至少有一个事件列为未解决的所有硬件 我不能只是做一个连接,因为如果一个硬件有多个未解决的问题,它会出现多次。像这样的东西应该可以做到: select distinct(hardware_name) from hardware,incidents where hardware.id = incidents.hardware_id and incidents.resolved=0; Select A.Hardw

我有一张硬件表和一张事故表。每个硬件都有一个唯一的标记,事件都绑定到该标记

如何选择至少有一个事件列为未解决的所有硬件


我不能只是做一个连接,因为如果一个硬件有多个未解决的问题,它会出现多次。

像这样的东西应该可以做到:

select distinct(hardware_name) 
from hardware,incidents 
where hardware.id = incidents.hardware_id and incidents.resolved=0;
Select A.HardwareID A.HadwareName, B.UnresolvedCount
From (Hardware A) 
Inner Join 
(
  Select HardwareID, Count(1) As UnresolvedCount 
  From Incidents 
  Where Resolved = 0 
  Group By HardwareID
) As B On A.HardwareID = B.HardwareID
这也可以奏效

SELECT hd.name, inc.issue, FROM hardware hd INNER JOIN inc ON hd.tag = inc.tag AND inc.issue = 'unresolved' group by hd.name 

我认为硬件表不会有独立的id,因为同一硬件可能会有多个事件。应该是相反的。