【发布时间】:2012-10-10 08:45:38
【问题描述】:
我被要求确定员工在 Microsoft Access 中保存的数据库中完成一项任务的时间。基本上一张表包含员工 ID、任务标识符(工作编号)、状态(1 表示工作开始,2 表示工作结束)和事件的日期时间。
只有一个人可以从事任何工作,一旦开始,他们必须在开始另一项任务之前完成任务。数据库中的条目可能看起来像
EmpID TaskID TaskStatus TaskDate
1 A001 1 15/09/12 09:00
2 A023 1 15/09/12 09:00
1 A001 2 15/09/12 09:30
3 A011 1 15/09/12 09:35
3 A011 2 15/09/12 09:45
1 A016 1 15/09/12 09:45
2 A023 2 15/09/12 09:45
..
我需要生成一份报告
EmpID TaskID Time Take
1 A001 0:30
2 A023 0:45
3 A011 0:10
除此之外,我只需要列出那些花费少于给定持续时间的任务(用于确保快速完成的工作仍然符合质量标准)。
感谢所有帮助。
【问题讨论】:
-
请学习使用谷歌(“SQL日期”)。第一个结果是w3schools.com/sql/sql_dates.asp,阅读日期函数 (w3schools.com/sql/func_datediff.asp) 你会对 datediff 感兴趣。
-
您的数据库中是否有每个员工的 taskStartDatetime 、 taskEndDateTime ?