従業員のタイムスタンプ付きアクション レコードを含むテーブルがあります。各レコードには、部門と役職があります。ここで、従業員が部署や役職を変更したときに発生した変更を抽出したいと考えています。
SQL Server 2008 を使用しています。
テーブルが単純な従業員のレコードを保持していると仮定すると、データは次のようになります。
Time | Department | WorkTitle
t1 Dep1 Wt1 <---
t2 Dep1 Wt1
t3 Dep2 Wt2 <---
t4 Dep2 Wt2
t5 Dep1 Wt1 <---
t6 Dep3 Wt1 <---
t7 Dep3 Wt1
t8 Dep3 Wt1
従業員が新しい部署に現れたとき、および/または新しい役職に就いたときの最初のインスタンスを抽出したいと考えています。
上記のデータでは、矢印の付いたレコードが抽出されたものであり、次の結果になるはずです。
Time | Department | WorkTitle
t1 Dep1 Wt1
t3 Dep2 Wt2
t5 Dep1 Wt1
t6 Dep3 Wt1
時刻 t1 と t5 では同じ部門と役職が発生するため、単純な GROUP BY 句は機能しないことに注意してください。
OVER/PARTITION を使用していくつかの試みを試みましたが、このクエリの複雑さは私の知識を超えているようです。
これは SQL ステートメントを使用して行うことができますか?