我尝试查询表并使用联接来过滤结果。表1是我从中计算的表。此查询返回216
的结果SELECT COUNT(*)
FROM
plate
WHERE
plates.Status = 'Sent to Device' AND plates.PlateDeviceName = 'Magnus3' AND plates.PlateDeviceIn BETWEEN '2017-12-19 07:00:00' AND '2017-12-19 15:00:00'
我需要根据outputgroups
字段中的值,通过第二个相关表PlateType
对其进行过滤。表outputgroups
和表格与字段plates.OutputGroupID = outputgroups.OutputGroupID
相关联。这个查询是我认为我应该使用但它返回的计数为零,0。
SELECT COUNT(*)
FROM
plates INNER JOIN outputgroups ON outputgroups.OutputGroupID = plates.OutputGroupID
WHERE
outputgroups.PlateType = 'KBA' AND plates.status = 'Sent to Device' AND plates.PlateDeviceName = 'Magnus3' AND plates.PlateDeviceIn BETWEEN '2017-12-19 07:00:00' AND '2017-12-19 15:00:00'
它也应该返回216,因为在该时间范围内制作的所有印版都是“KBA”。板。我已经尝试了这个查询的许多不同变体,并且具有与Zero相同的结果。如果我删除日期/时间约束我得到结果但我无法验证它们是否正确,因为时间跨度超过一年且计数为~36K。我知道我必须在JOIN语法中遗漏一些我不理解的东西,并且可以使用一些帮助。