데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요 오라클만 사용하다가 mssql을 처음 사용해보기에 질문 좀 드리겠습니다......
[쿼리1]
SELECT '1' SEQ, '서울' AREA UNION ALL
SELECT '1' SEQ, '울산' AREA UNION ALL
SELECT '2' SEQ, '서울' AREA UNION ALL
SELECT '2' SEQ, '경기' AREA UNION ALL
SELECT '3' SEQ, '인천' AREA UNION ALL
SELECT '3' SEQ, '제주' AREA UNION ALL
SELECT '3' SEQ, '강원' AREA UNION ALL
SELECT '4' SEQ, '제주' AREA
[결과1]
seq area
1 서울
1 울산
2 서울
3 경기
3 인천
3 제주
3 강원
4 제주
[결과2]
seq area
1 서울, 울산
2 서울
3 경기, 인천, 제주, 강원
4 제주
[쿼리1]을 실행시키면 [결과1]이 나오는데 [결과2]처럼 변환이 가능할까요?
[결과1]에서 seq의 갯수는 랜덤이고 [결과2]에서 group by seq가 되었으면 합니다...
감사합니다...
Comment 1
-
NOTE
2017.02.16 16:18
-- TEMP01 생성
SELECT '1' SEQ, '서울' AREA INTO #TEMP01 UNION ALL
SELECT '1' SEQ, '울산' AREA UNION ALL
SELECT '2' SEQ, '서울' AREA UNION ALL
SELECT '2' SEQ, '경기' AREA UNION ALL
SELECT '3' SEQ, '인천' AREA UNION ALL
SELECT '3' SEQ, '제주' AREA UNION ALL
SELECT '3' SEQ, '강원' AREA UNION ALL
SELECT '4' SEQ, '제주' AREA
-- 조회
SELECT A.SEQ
, STUFF((SELECT ', ' + B.AREA
FROM #TEMP01 As B
WHERE A.SEQ = B.SEQ
FOR XML PATH('')),1,1,'') As AREA
FROM #TEMP01 As A
GROUP BY A.SEQ
-- TEMP 삭제
DROP TABLE #TEMP01