我是一个相对的新手上访问一个问题远远超出了我的技能更新查询从第二个表
我在包含名字叫做现有员工Access表中存储关于雇员的信息,姓氏使用最近数值,员工ID等。
由于员工经常更换班次/职位,我需要一种方法来存储职位名称,班次等历史记录,而不必为具有大量冗余数据的员工存储两条记录。
所以我创建了一个名为分配历史与员工ID,那里可以为同一雇员的ID多个条目之间的关系的第二个表,看起来像
Employee ID | Assigned As Of | Job Title | Shift
1234 | 01/01/2017 | Manager | A
1234 | 12/01/2016 | Salesman | A
5678 | 12/01/2016 | Salesman | B
现在各种形式的原因,我要把最近的值回我的第一台现有的员工在当前标题位置,像这样
Employee ID | FName | Last Name | Current Job
1234 | John | Smith | Manager
5678 | Steve | Adams | Salesman
我已经能够获得最接近的是创建一个表查询到第三个表CurrAssign其中代码是
SELECT a.*
INTO CurrAssign
FROM AssignmentHistory AS a
INNER JOIN (
SELECT max(a.AssignedAsOf) AS LatestDate, a.EmployeeID
FROM AssignmentHistory AS a GROUP BY a.EmployeeID)
AS SubMax
ON (a.EmployeeID = SubMax.EmployeeID)
AND (a.AssignedAsOf = SubMax.LatestDate);
有关如何将此查询更改为当前员工更新的帮助?或者有更好的方式来格式化和存储这些信息?