MSSQL로 [GROUP_CONCAT]기능 구현 > db

본문 바로가기

db

MSSQL로 [GROUP_CONCAT]기능 구현

페이지 정보

작성자 서방님 댓글 0건 조회 91회 작성일 14-10-15 10:26

본문

table 이 다음과 같이 있다.



city_table

nation

city

한국서울
한국부산
한국대구
일본동경
일본나가사키



행은 저런 식으로 되어있지만 출력을 아래와 같이 하고 싶은 것이다.


nation

  city list

한국서울,부산,대구
일본동경,나가사키


SELECT STUFF((SELECT CAST(',' AS VARCHAR(MAX)) +  city

FROM city_table

where nation = '한국'

FOR XML PATH('')), 1, 1, '') AS cityList


이 테이블을 출력하면


city list 

서울,부산,대구



이런 값을 얻을 수 있다.

여기에 응용을 해서

group by 후 조인문을 이용하면 원하는 결과를 쉽게 구현 할 수 있다.


select OUT_T.NATION, (

SELECT STUFF((SELECT CAST(',' AS VARCHAR(MAX)) +  CITY

FROM CITY_TABLE IN_T

where IN_T.NATION = OUT_T.NATION

FOR XML PATH('')), 1, 1, '') AS CITYLIST

)

from  CITY_TABLE   OUT_T

group by NATION


nation

  city list

한국서울,부산,대구
일본동경,나가사키

댓글목록

등록된 댓글이 없습니다.

Total 447건 1 페이지
게시물 검색

회원로그인

접속자집계

오늘
299
어제
446
최대
592
전체
38,817

그누보드5
Copyright © seobangnim.com All rights reserved.
자바스크립트를 활성화 하세요![ 브라우저에서 자바스크립트를 활성화하는 방법 ]