【发布时间】:2020-05-16 07:49:57
【问题描述】:
NumberWrittenByOperator
NumberRemovedByOperator
我在 MsAccess 中使用以下 SQL:
SELECT [TagRegister Query - All].ReportedBy AS WrittenBy,
Count([TagRegister Query - All].ReportedBy) AS Written,
Count([TagRegister Query - All].RemovedBy) AS Removed
FROM [TagRegister Query - All]
GROUP BY [TagRegister Query - All].ReportedBy, [TagRegister Query - All].RemovedBy;
我从表中创建了一个查询,这是从查询中查找数据。我正在尝试计算报告的异常数量 (ReportedBy/Written) 和移除的异常数量 (RemovedBy/Removed)。
假设操作员报告了 5 个异常 - 但他只移除了 1 个,机械师移除了 2 个,剩下的 2 个仍然“打开”。但有了这个我得到了
WrittenBy Written Removed
Operator 1 1
Operator 2 2
Operator 2 0
我希望它返回更像这样的东西:
WrittenBy Written Removed Ratio
Operator 5 1 20%
我想看看他写了多少,删除了多少,以及他的表现如何 - 删除他报告的异常
我可以进行查询以返回报告的异常数量,以及单独的查询以返回已删除的异常。我正在努力构建一个查询以在同一查询中返回两者。
你们能帮帮我吗?
我很乐意提供尽可能多的东西,对于 Stack Overflow 来说还是新手,请耐心等待。
图片显示了每个操作员写的数字,以及操作员删除的数字。所以一个人可以写异常,并让其他人关闭它。如果可能的话,我想显示他们写的数字,以及他们删除的数字。
感谢您的宝贵时间!
【问题讨论】:
-
我不明白您是如何从示例数据中获得 5 个写入和 1 个删除的。确定要删除 3 个?
-
我想看运营商写的数字,以及运营商删除的数字。对于这个报告,我只需要查看操作员写入和删除的内容,不需要包含机械师删除的内容。
-
根据显示的数据,我们无法判断移除的两个单元应该被忽略。您的源查询不足以完成手头的任务。
-
编辑问题添加一些示例数据和所需的结果会有所帮助。
-
操作员名称将在 ReportedBy 列以及 RemovedBy 列中。有没有办法计算 RemovedBy 中的操作员名称与 ReportedBy 匹配的位置?
标签: sql ms-access select count where-clause