我是一个 Access 菜鸟,正在使用一个跟踪员工受伤和错过时间的数据库。我有一个从两个表中提取数据的查询:一个是员工受伤,另一个是错过时间。大多数伤害没有任何相关的错过时间,并且有两种类型的错过时间。目前,查询为每种类型的错过时间返回单独的行。我想修改这个查询,以便每个员工只有一行,不同类型的错过时间有两个单独的列。我的列标题将从此开始:
事件日期、员工姓名、Leave_Type、天数
对此:
事件日期、员工姓名、休息日、轻值班日
查询如下。休假的两种类型是“Off”和“TTA”。关于如何做到这一点的任何建议?
SELECT
Injuries.[Date of Incident],
Injuries.[Employee's name],
Leave.Leave_Type,
Sum(IIf(Leave.Last Is Null,DateDiff("d",Leave.First,Date())+1, DateDiff("d",Leave.First,Leave.Last)+1)) AS Days
FROM
Injuries LEFT JOIN Leave ON Injuries.ID = Leave.ID
WHERE
Injuries.[OSHA Recordable?]<0
and Injuries.[Date of Incident] between [Forms]![OSHA Recordable Claims Form]![From] and [Forms]![OSHA Recordable Claims Form]![To]
GROUP BY
Injuries.[Date of Incident],
Injuries.[Employee's name],
Leave.Leave_Type
ORDER BY
Injuries.[Date of Incident];