SQL 질문과 답변 게시판
Microsoft SQL Server와 관련된 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
글 수 5,172
2010.09.02 13:01:50 (*.252.142.126)
sql 2005이시면
이름별 순서, 이름/코드별 순서를 따로 만드신 다음 case를 이용하시면 가능 할것 같습니다.
2010.09.02 13:18:11 (*.247.149.239)
게시판 글을 이렇게하는건가보네요 ? 하나 배우네요.
부족하지만 한 번 짜봅니다.
with test as (
select '김혜수' as 이름 , 'A' AS 코드 UNION ALL
select '김혜수' as 이름 , 'B' AS 코드 UNION ALL
select '이영애' as 이름 , 'A' AS 코드 UNION ALL
select '이영애' as 이름 , 'A' AS 코드 UNION ALL
select '김혜수' as 이름 , 'C' AS 코드 UNION ALL
select '김혜수' as 이름 , 'A' AS 코드
)
SELECT A.이름, A.코드
, CASE WHEN RN1= 1 THEN 0 ELSE
CASE WHEN RN2=2 THEN 1 ELSE
CASE WHEN RN2 <> 1 OR RN2 <> 2 THEN 2 END END END
FROM (
SELECT 이름, 코드
, ROW_NUMBER() OVER(PARTITION BY 이름 ORDER BY 코드) RN1
, ROW_NUMBER() OVER(PARTITION BY 이름, 코드 ORDER BY 코드) RN2
FROM TEST
)A


웅??? 질답 게시판 용 글이 아닌듯....
아니면.. 제가 이해력이 부족한 건가...ㅠㅠ