2014-09-26 2 views
0

키 값이 중복되는 데이터 세트가 있습니다. 아래의 예에서 다른 그룹 (Hold 열)에 의해 상태가 변경 될 때마다 주문 번호가 복제됩니다.SSIS 2012 : 키로 계산하는 방법?

Order # | Hold 
----------------------- 
123456 | H1 
123456 | H2 
564653 | H1 

중복을 제거하는 방법에 대한 많은 예제가 있지만 실제로 계산하려고합니다. 내가보고 싶은 것은 다음과 같습니다 :

Order # | Hold | Count 
---------------------------- 
123456 | H2 | 1 
123456 | H1 | 2 
564653 | H1 | 1 

보유는 시간 값이없고 날짜는 같은 날짜가 될 수 있습니다. 카운트의 순서는 123456은 중요하지 않으므로 H1은 1을 가질 수 있고 H2는 2를 가질 수 있습니다. 아마도 카운트는 정확한 용어가 아닙니다.

2012 년 SSIS에서 어떻게 구현합니까?

답변

1

사용 ROW_NUMBER() 함수 .. 참고로

declare @tablename table (OrderNum varchar(10), Hold varchar(3)) 

insert into @tablename (OrderNum, Hold) 
select '123456', 'H1' 
union all 
select '123456', 'H2' 
union all 
select '564653', 'H1' 

select 
    OrderNum, Hold, 
     ROW_NUMBER() over (partition by OrderNum order by Hold DESC) as [Count] 
from @tablename 

.. 당신이 다음 순서 변경하려면 order by Hold DESCorder by Hold ASC

관련 문제