2016-01-04 50 views
2

我有這樣的情況下旋轉重複值:SSIS多個記錄中

ID TYPE TIMESTAMP 
1 A  22/06/2015 03:55:02 
1 A  22/06/2015 03:55:05 
1 B  22/06/2015 03:55:10 

當然,如果我嘗試轉動SISS給出了一個錯誤,告訴有在類型爲ID重複值;所以我認爲這將是很好,有這樣的結果:

ID occurrence A      B 
1 1   22/06/2015 03:55:02  22/06/2015 03:55:10 
1 2   22/06/2015 03:55:05 

這也將是很好,如果拳頭髮生將充滿事件(A和B)的較早的時間戳,但我認爲這將通過正確排序完成。

可以這樣做嗎?

+0

能夠使用ROW_NUMBER創建「事件」欄,並轉動數據有多少列可以通過以下方式產生一個合理的上限重複?你的源數據來自哪裏? – billinkc

+0

這是SSIS的日誌。我稱之爲TYPE的是日誌事件: OnPreExecute; OnPostExecute; OnError; OnTaskFailed; PackageStart; PackageEnd。 正如你所看到的形式很少。 – AndreA

回答

2

您應根據類型

SELECT * 
FROM ( 
     SELECT *, 
       ROW_NUMBER() OVER(PARTITION BY [ID], [Type] ORDER BY [TimeStamp]) Occurrence 
     FROM Test 
) t 
PIVOT 
(  MAX([TimeStamp]) 
     FOR [Type] IN ([A],[B]) 
) p 

DEMO