반응형

group 별로 컬럼 내용 합치고 싶을때...

오라클에서는 LISTAGG mysql에서는 GROUP_CONCAT 을 썼었는데...

MSSQL에서는 또 다르다..

 

[TABLE]

ID NAME
ab 사과
ab 포도
cd
cd 곶감
cd 호떡

이런 테이블이 있다고 칩시다.

아래 쿼리를 수행하면 다음과 같이 결과가 나온다. 

SELECT DISTINCT ID
STUFF( (select ','+name from table p where p.id = b.id for xml path('') ),1,1,'') AS NAME2
FROM table B
ID NAME
ab 사과,포도
cd 귤,곶감,호떡

 

 

** STUFF : 문자열의 시작위치와 크기를 지정하여 원하는 문자로 치환
STUFF('[문자열]','[시작위치]','[크기]','[치환문자]')

** FOR XML PATH : 쿼리의 결과 데이터를 XML 형태로 표현

 

반응형

+ Recent posts