0

我有一个 MS Access 数据库表日期时间列。当我选择一个特定的月份(比如 7 月)时,我必须获取该月的日期数据。

输出应以与附加图像相同的格式显示。

每个在特定日期进来的员工都应该在当天显示“P”。如果员工在某一天(如周六或周日)没有进来,那么我必须在那天显示“WO”。

当员工没有进来时(如周六或周日),那么日志表中就没有该日期的条目。

如何编写 Access 查询来获得此输出?我正在使用 MS Access 2003 数据库。

编辑:我们必须使用 TRANSFORM 和 PIVOT,但问题是当员工不可用时(周六、周日),我们仍然需要在输出中显示数据。


在此处输入图像描述在此处输入图像描述

4

1 回答 1

1

设置一个从第一个表中读取 EmpID 和 CheckTime 的查询,并添加一个附加列:

DateWise: IIf(Weekday([CheckTime])=1 Or Weekday([CheckTime])=7,"WO","P")

您将需要一个额外的表格,其中包含一年中的每个日期(我们将其称为 YearDates)。将该表左连接到您的查询,如下所示:

Select YD.YearDates, Q2.* from YearDates YD LEFT JOIN Query2 Q2 ON YD.YearDates = DATEVALUE(Q2.CheckTime)

DATEVALUE 将去掉您在 CheckTime 中日期的时间,以便它们将日期与日期相匹配。

于 2013-07-26T13:29:55.983 回答