sql - 如何进行查询以根据两个条件对数据进行排序,然后从初始表/查询中添加与该条件相对应的所有值?
问题描述
我有一个带有查询的 Access 数据库,称为计费时间,其中包含以下字段:项目名称、客户、员工、工作日期、工作描述、计费时间和不可计费时间。
此查询的作用是在每一行显示员工的工作日期、他为哪个客户工作、什么项目、他做了什么、有多少小时是可计费的,有多少是不可计费的。
我想在此基础上进行一个新查询,该查询将总结每个员工在每个项目名称上花费的总计费小时数和非计费小时数,但我似乎找不到这样做的方法。
我设法进行查询,将提取每个项目的总小时数和每个员工的总小时数,但作为一个整体,不是每个项目和每个员工。
我试过使用 DISTINCT、UNION、排序、加入、加入左、右和中心,似乎没有任何效果。
此外,真正没有帮助的是,自从我上次使用 SQL 工作以来可能已经 18 年了,而且我第一次处理 Access,这是我试图帮助某人解决的问题,这令人沮丧。
结果看起来像
Employee_Name_1 Project_Name_1 Number_of_BH1 Number_of_NBH1
Employee_Name_1 Project_Name_2 Number_of_BH2 Number_of_NBH2
Employee_Name_2 Project_Name_1 Number_of_BH3 Number_of_NBH3
等等
如果有人能指出我正确的方向,那将有很大帮助。我猜这甚至没有那么难。如果我可以提供任何进一步的信息,请告诉我。
干杯!
解决方案
尝试使用 sum 和 group by
select Project_Name, Employee, sum( Billable_Hours), sum( Npn_Billable_Hours)
from my_table
group by Project_Name, Employee
对于您需要的日期范围
从 my_table 中选择 Project_Name, Employee, sum(Billable_Hours), sum(Npn_Billable_Hours)
WHERE Date_Worked Between my_start_date And my_end_date group by Project_Name, Employee
推荐阅读
- java - 从 Ubuntu 18.04 升级到 20.04 后,Java 应用程序使用 <1% cpu
- mysql - mysql - 所有其他表的集中“注释”表
- javascript - 需要帮助实现 EasyZoom jquery 插件
- javascript - 为什么这个递归解决方案不起作用?
- pic - Microchip dsPIC33 同时启动所有 PWM
- html - 我的目的是能够检查和更改蓝色的颜色
- css - 我正在编辑整个反应应用程序的缩放,但是当我这样做时,模态(材质 ui)会中断
- java - Eclipse JFace 树 - 树表的空列名称
- sorting - Dart比较和排序地图列表?
- javascript - 使用 NavLink 动态地将最后两个单词包装在字符串中