안녕하세요 오라클만 사용하다가 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