我在Access中有一个表格,显示员工的部门历史记录;总共有几千条记录,如果一名员工在一个以上的部门中,他/她将有多条记录。数据样本显示在附图中。 Sample Table在Access 2010中只显示部门更改查询
目标是针对Access中的查询返回关联者的转移历史记录,换句话说,他/她第一次处于每个唯一的部门代码中。附图中还显示了样本数据预期结果的一个例子。 Expected Outcome
注意,例如,第一助理(员工的Test1)有叠排的顶部在2016年7月5日,我会希望被省略,因为此前的纪录已经反映在5转移到001271 /二千〇一十六分之二。
至此,我已经创建了下面的查询中通过查询向导(我在SQL新手)访问:
SELECT DISTINCT [Multiple Records_1].[Associate ID], [Multiple Records_1].[First Name], [Multiple Records_1].[Last Name], Min([Multiple Records_1].[Position Effective Date]) AS [MinOfPosition Effective Date], [Multiple Records_1].[Home Department Code], [Multiple Records_1].[Business Unit Description]
FROM [Multiple Records] INNER JOIN [Multiple Records] AS [Multiple Records_1] ON [Multiple Records].[Associate ID] = [Multiple Records_1].[Associate ID]
GROUP BY [Multiple Records_1].[Associate ID], [Multiple Records_1].[First Name], [Multiple Records_1].[Last Name], [Multiple Records_1].[Home Department Code], [Multiple Records_1].[Business Unit Description], [Multiple Records].[Home Department Code]
HAVING ((([Multiple Records].[Home Department Code])<>[Multiple Records_1].[Home Department Code]));
这让我非常接近我所需要的,但10/5/2015“员工测试1”的记录被压制,因为他转回到001289 ......我想确保类似的记录不会因为员工转出某个部门而被转移回去。
我将不胜感激任何帮助!提前谢谢了!