
[MSSQL] 그룹별로 문자열 묶어서 나타내기(STRING_AGG / STUFF, FOR XML PATH)
일을 하다 요청이 왔는데 요구사항은 다음과 같았다. 특정 데이터베이스에서 그룹별로 묶은 다음 합계를 구하는 것이 아니라 컬럼에 있는 값을 옆으로 쭉 나열해서 나타낸 데이터를 요구하였다.예를 들어 아래의 그림처럼 이름별로 가지고 있는 자격증을 쉼표로 구분하여 묶어서 표현한 데이터가 필요하다고 하였다. STUFF와 FOR XML PATH 함수를 조합하여 사용하거나 STRING_AGG 함수를 사용하면 편리하게 나타낼 수 있다. 주의할 점은 STRING_AGG 함수는 SQL Server 2017 버전 이상부터 지원하므로 그 이하의 버전에서는 STUFF와 FOR XML PATH 함수를 사용하면 된다. 1. STUFF, FOR XML PATH 함수 사용먼저 버전이 낮은 경우 해당 함수를 사용하면 된다. STUFF..