首页 > 解决方案 > 需要总和查询以包括零总计

问题描述

我将 Microsoft Access 与一个简单的数据库一起使用,该数据库汇总了可计费客户的员工小时数。我创建了一个查询来计算每位员工的计费小时总数。我还需要它以零和返回工人。我无法弄清楚如何在同一个查询中正确执行此操作。

我是一名会计师,大概六年没有写过 SQL,也从来没有特别精通过。我认为对于更有经验的人来说,这应该是一个相当容易的解决方法。我的 SQL 代码正是我在设计视图中构建查询时由 Access 生成的。代码是:

SELECT [EYH Export].Worker, Sum([EYH Export].Hours) AS [Billed Hours]
FROM [EYH Export] INNER JOIN [Job List] ON [EYH Export].Client = [Job List].Client
WHERE ((([Job List].Billed)="Billed"))
GROUP BY [EYH Export].Worker;

它返回一个工人列表,第一列中包含他们的姓名,第二列中包含计费小时总数。为了包含没有计费时间的名称,我相信我应该使用类似: COUNT ([EYH Export].Worker WHERE ([EYH Export].Client) IS NULL;

我真的非常感谢任何建议。仅仅为我指明正确的方向将是一个巨大的祝福。

谢谢你。

标签: sqlms-accesscount

解决方案


我将尝试回答您的基本要求。我认为,您本质上不是想要解决方案,而是要遵循,改进的道路:

我真的非常感谢任何建议。仅仅为我指明正确的方向将是一个巨大的祝福

因此,首先,您可能希望按照 Brad 的建议更改连接,因为目前(扣除)一个表包含所有客户,而一个不包含。通过这样做,您甚至可以获得丢失的客户,但会知道谁丢失了,这将我们带到下一个部分,即iif(也请考虑nz)。你把它放在一个专栏里。您将测试空值,如果为空,则将 0 相加。

那就是路径。对于实际代码,我很乐意放弃对这样做的人的回答。


推荐阅读