재우니의 블로그



아래는 MS SQL 테이블의  ROW 값들을 하나의 필드로 , 콤마 형식을 만드는 방법이다.

테이블 전체를 호출하면서 CASE 문으로 조건처리하여 변수에 담는데 좋은 쿼리구문이다.

declare @aa varchar (200)
set @aa = ''

select @aa = 
    case when @aa = ''
    then CarName
    else @aa + coalesce(',' + CarName, '')
    end
  from Cars

print @aa


FOR XML 구문의 가이드는 여기에..

* FOR XML() – MS-SQL(SQL Server)
– FOR XML / (RAW/AUTO/EXPLICIT/PATH)
– 상세한 내용은 MSDN(https://msdn.microsoft.com/ko-kr/library/ms178107.aspx) 에서 확인이 가능 합니다.

SELECT LEFT(Car, LEN(Car) - 1)
FROM (
    SELECT Car + ', '
    FROM Cars
    FOR XML PATH ('')
  ) c (Car)


SELECT Stuff(
    (
    SELECT ', ' + CARS.CarName
    FROM CARS
    FOR XML PATH('')
    ), 1, 2, '') AS CarNames