반응형


 SQL Server에서 여러 행에 대해 단일 텍스트로 합치는 방법에 대해 알아보자. 우선 SQL Server 2017부터 지원한다고 하니 확인하도록 한다.


 STRING_AGG 함수는 출력된 여러 행 값들에 대해 하나의 단일 텍스트로 만들어주는 역할을 하며 유용하게 사용할 수 있다.



구문

 STRING_AGG ( expression, separator )



일반적인 사용

 SELECT STRING_AGG (COL, ',') AS DATA

  FROM TABLE ;


 COL 값들에 대해 [,] 구분을 지어 하나의 텍스트로 출력할 수 있다.



GROUP BY 사용

 SELECT A.ID, STRING_AGG (B.COL, ',') AS DATA

  FROM TABLE A

  LEFT JOIN TABLE B ON A.ID = B.ID

  GROUP BY A.ID;


 GROUP BY를 이용하여 사용할 경우 하나의 공통된 ID에 대해 COL 값들을 [,] 구분되어 하나의 텍스트로 출력할 수 있다.



간단한 예제

 SELECT STRING_AGG(NTT_ID, ',') AS TEST 

  FROM COMTNBBS ;

 > 1,11,21,22,23 ...


 [,] 이 외에도 다양한 값을 넣어 구분이 가능하니 참고하면 된다.



↓ 공감 을 눌러주시면 블로거에게 큰 힘이 됩니다 !

반응형

블로그 이미지

SkyBaby

부부가 운영하는 정보 공유 공간입니다. 다양한 일상, 요리, 맛집탐방, 게임, 공부 등의 정보를 담고 있습니다.