SSIS - 在多个记录中透视重复值

时间:2016-01-04 11:34:47

标签: ssis pivot

我有这样的情况:

 192.192.52.2/my-project/upload 

当然,如果我尝试使用SISS,则会出现错误,告知该ID的TYPE中存在重复值;所以我觉得这样的结果会很好:

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

如果第一次出现将填充事件的早期时间戳(A和B),那也是很好的,但我认为只需正确排序即可完成。

可以这样做吗?

1 个答案:

答案 0 :(得分:3)

您应该能够使用ROW_NUMBER创建“Occurrence”列并根据Type

来旋转数据
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