2014-10-17 2 views
0

나는 누구의 컨테이너 ID를 해당 헤더 내에서 중복하지 않고 추적 ID Set.Tracking ID를 또한 헤더 ID행을 선택

Header ID  Tracking ID  ContainerID 
xx   abc    123 
xx   def    456 
yy   abc    123 
yy   def    456 
zz   ghi    123 
zz   ghi    123 
zz   ghi    456 
고유해야 아래 표에서 헤더 ID를 선택해야합니다

결과 집합은 다음과 같이해야합니다 :

Header ID 
xx 
yy 

SQL 서버

+1

어느 데이터베이스 - sql server, mysql, oracle, postgres ??? –

+0

** ** by Group by ** –

답변

1

이 시도하고 당신이 원하는 경우 알려주세요. 나는 이것을 위해 SQL 서버를 사용했다. 나는 잠시 동안 포럼 주위에 없을 것입니다. 그래서, 잠시 동안 당신에게 응답하지 않을 것입니다.

select r2.HeaderID 
(
select r1.HeaderID, MAX(r1.cont_num) as max_c 
from 
(
select headerid,count(containerid) as cont_num 
from dups 
group by HeaderID, containerid 
) as r1 
group by r1.HeaderID 
having MAX(r1.cont_num) = 1 
) as r2 
+0

추적 ID가 동일하지만 해당 하위 집합 컨테이너 ID가 서로 달라야하는 헤더 ID 열만 필요했습니다. 복제 컨테이너 ID가있는 모든 헤더 ID를 제거해야합니다. 헤더 ID zz와 마찬가지로 컨테이너 ID (123)가 중복됩니다. 결과 집합에서 zz을 생략해야합니다. –