2014-04-06 4 views
0

아래 표를 (1) 출력 표 (2)로 그룹화해야합니다.이 표본 값은 실제 숫자와 코드입니다. 이드는 유일해야하고 코드는 조건과 일치해야합니다 (xz가 존재하면 xz, xz와 xy가 존재하면 xy 만 선택합니다). '존재한다면'과 '대충의 경우'를 시도하지만 지금까지는 행운이 아닙니다. 두 열에 모두 PK가 있기 때문입니다. 내가 SQL 서버 2008, 감사하나의 열에서 고유 값을 선택하고 다른 열의 기준과 일치 시키십시오.

id code 
101 xz 
102 xz 
102 xy 
103 xz 
103 xa 

output 
101 xz 
102 xy 
103 xa 
+0

시도한 코드와 예상대로 작동하지 않는 코드를 게시하면 도움을받을 가능성이 큽니다. –

답변

0

연구 Ranking functions를 사용, 그들은 쿼리를 그룹화에 큰 도움이됩니다.

WITH cte AS 
(

SELECT id,code, 
     ROW_NUMBER() OVER(PARTITION BY id ORDER BY code) as row 
FROM tableName 
) 

SELECT id,code 
FROM cte 
WHERE row=1 
관련 문제