2

我有一张硬件表和一张事故表。每个硬件都有一个唯一的标签,事件与标签相关联。

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

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

4

3 回答 3

10
select distinct(hardware_name) 
from hardware,incidents 
where hardware.id = incidents.hardware_id and incidents.resolved=0;
于 2008-10-16T19:41:36.363 回答
3

这样的事情应该这样做:

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
于 2008-10-16T19:46:48.320 回答
0

这也可以工作

SELECT hd.name, inc.issue, FROM hardware hd INNER JOIN inc ON hd.tag = inc.tag AND inc.issue = 'unresolved' group by hd.name 
于 2017-06-07T06:31:33.103 回答