아래는 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