這是源表EMP, 外表到表和下面所需的輸出:變化的表和變換連續行到單個行「榜」的
EMP: 該處是源表:
EMPID ENAME STANDING DATE
101 ABC ACTIVE 10-06-91
101 ABC INACTIVE 01-07-2002
102 EFG INACTIVE 02-09-2009
102 EFG ACTIVE 01-10-2011
102 EFG INACTIVE 07-10-2017
103 XYZ ACTIVE 08-07-2010
103 XYZ ACTIVE 08-07-2010
103 XYZ INACTIVE 09-10-2011
OUTPUT:
EMPID ENAME BEFORESTANDING CURRENTSTANDING DATE
101 ABC ACTVE INACTIVE 01-07-2002
102 EFG INACTIVE ACTIVE 01-10-2011
102 EFG ACTIVE INACTIVE 07-10-2017
103 XYZ ACTIVE INACTIVE 09-10-2011
轉換規則的邏輯是,如果EMPID是相同的,它已經得到了積極的地位的變化,以inacti ve, 輸出將在單行和日期coulmn將從最新的記錄。
如果表已得到的非活動3個榜到活性和活動到非活動我們將保持在輸出[第(n-1),用於輸出] 2行與榜
如果表的變化在相繼的排中得到同樣的排名,然後跳過第一個,只考慮積分榜的變化。
您使用的是哪個版本的SQL Server?在2012年(和更新版本)中,您可以使用[LAG()](https://docs.microsoft.com/zh-cn/sql/t-sql/functions/lag-transact-sql)函數很容易地執行此操作 –