我目前有一个查询,显示我团队中的人员,以及他们当前的角色(从另一个表中查找):
SELECT firstName + ' ' + lastName as Name,
RTS_ROLE.roleDescription as `Current Role`,
FROM RTS_STAFF, RTS_ROLE
WHERE RTS_STAFF.staffRole = RTS_ROLE.roleID
AND staffDeleted <> true
ORDER BY roleID;
另一个查询列出了每个人每周的工作时间:
SELECT RTS_STAFF.staffId, Sum(IIf(Isnull(Monday),0,Monday)
+IIf(Isnull(Tuesday),0,Tuesday)
+IIf(Isnull(Wednesday),0,Wednesday)
+IIf(Isnull(Thursday),0,Thursday)
+IIf(Isnull(Friday),0,Friday)) AS `Weekly Hours`
FROM WORKING_HOURS, RTS_STAFF
WHERE RTS_STAFF.staffId = WORKING_HOURS.staffID
AND Date() > WORKING_HOURS.EffectiveFrom
GROUP BY RTS_STAFF.staffId;
我已经尝试(不成功)通过将第二个查询作为子查询放在第一个查询中来加入这些查询,但无济于事:我得到“您编写了一个子查询,该子查询可以在不使用 EXIST 关键字的情况下返回多个字段主要查询...”
我正在尝试获取一个查询,该查询将显示来自同一查询的员工姓名、角色名称和“当前”总工作时间。有人可以给我一个线索如何实现这一点,或者我做错了什么(无疑是一件令人尴尬的简单事情)。
如果有帮助,很高兴提供更多信息。
Table structure:
RTS_ROLE: (lookup table)
(pk)RoleID: number
roleDescription: string
RTS_STAFF
(pk)staffId: number
firstName: string
lastName: string
staffRole: number (fk to RTS_ROLE.roleID)
staffDeleted: boolean
WORKING_HOURS:
(pk)workingWeekID: number
staffID: number (fk to RTS_STAFF.staffId)
Monday: number
Tuesday: number
...
Friday:number
EffectiveFrom: date
我们正在使用(不要笑)MS Access 2007