【发布时间】:2021-01-29 11:33:22
【问题描述】:
我是新手,所以请以“傻瓜”格式回复。 我有一个表格可以跟踪我的员工的所有书面警告,我使用向导创建了一个查找重复项查询并构建了一个报告。在我的查询中,我需要列出 [EMPID] 出现超过 3 次的所有记录。在日期字段中,我将其追溯到 90 天。该报告似乎完全符合我的需要,但似乎仍然随机列出过去 90 天内只有 1 或 2 个条目的记录。如果我去掉日期标准,它就完美了,我可以将它更改为查找 3、4、5 或任何数字,它工作正常。添加日期条件后,我得到的结果好坏参半。
SELECT [tble_Administrative Actions].FirstName,
[tble_Administrative Actions].LastName,
[tble_Administrative Actions].Category,
[tble_Administrative Actions].Offense,
[tble_Administrative Actions].EmpID,
[tble_Administrative Actions].Date
FROM [tble_Administrative Actions]
INNER JOIN [HR Report Employee Master]
ON [tble_Administrative Actions].[EmpID] = [HR Report Employee Master].[EmployeeNumber]
WHERE (
(([tble_Administrative Actions].EmpID) In (
SELECT [EmpID]
FROM [tble_Administrative Actions] As Tmp
GROUP BY [EmpID]
HAVING Count([EmpID]) > 3)
)
AND (([tble_Administrative Actions].Date) >= DateAdd("d", -90, Date()))
AND (([HR Report Employee Master].CurrentStatusDescription) = "active")
)
ORDER BY [tble_Administrative Actions].EmpID,
[tble_Administrative Actions].Date;
【问题讨论】:
-
嗨德斯奈德。我编辑了您的问题,以尝试使您的查询对其他人更具可读性。您没有在问题中提及您使用什么语言来编写查询。您可以通过editing 您的问题来添加它。添加正确的语言标签可以让 Stack Overflow 上的专家更容易找到并回答您的问题。
-
谢谢 Thomas - 这是使用查询向导构建的 MS Access 查询。
-
感谢您的建议