【问题标题】:How can I make a query that will sort data on two criteria then add all values corresponding to that criteria from the initial table/query?如何进行查询,根据两个条件对数据进行排序,然后从初始表/查询中添加与该条件相对应的所有值?
【发布时间】:2019-07-30 18:22:32
【问题描述】:

我有一个带有查询的 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

等等


如果有人能指出我正确的方向,那将有很大帮助。我猜这甚至没有那么难。如果我可以提供任何进一步的信息,请告诉我。

干杯!

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    尝试使用 sum 和 group by

    select  Project_Name, Employee, sum( Billable_Hours), sum( Npn_Billable_Hours)
    from my_table  
    group by  Project_Name, Employee
    

    您需要的日期范围

    选择 Project_Name、Employee、sum(Billable_Hours)、sum(Npn_Billable_Hours) 来自 my_table
    WHERE Date_Worked 在 my_start_date 和 my_end_date 之间 按项目名称、员工分组

    【讨论】:

    • 我现在觉得自己很愚蠢。主要是因为我今天在某个时候这样做了,但由于某种原因对结果不满意,所以继续前进。但事实上,这正是我想要的结果。所以我现在觉得很傻。所以谢谢你。哦,也谢谢你把我整理出来! :)
    • 不,等等,我知道为什么不是这样,很抱歉没有完整地表达最初的问题。问题是我想提取与我可以输入的特定日期范围相对应的每个项目每个员工的总工作时间的报告。例如,我想知道对于项目 1,在 X 和 Y 之间,员工 1、2 和 3 在任务上花费了多少小时。当我添加日期条件时,我不再得到像 Project1 Employee1 Total Hours 这样的列表,而是得到 Project1 Employee1 Hours_Day1 Project1 Employee1 Hours_Day2 ...而不是 Project1 Employee1 TotalHRSinDateRange。有任何想法吗? :)
    • 我设法将它们添加到报告中。但我仍然很好奇我将如何使查询工作。
    • 非常感谢,成功了!我假设这是一个基本的事情,但是......呵呵。谢谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多