我在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 ......我想確保類似的記錄不會因爲員工轉出某個部門而被轉移回去。
我將不勝感激任何幫助!提前謝謝了!