Есть несколько способов сделать это:
1: Использование COALESCE
DECLARE @Tbl TABLE
(
Name VARCHAR(20)
);
INSERT INTO @Tbl VALUES
('Jim'),
('Tim'),
('Kim');
DECLARE @ReturnVar VARCHAR(256);
SELECT *
FROM @Tbl;
SELECT @ReturnVar = COALESCE(@ReturnVar + ', ', '') + Name
FROM @Tbl;
SELECT @ReturnVar;
2: Использование XML
DECLARE @Tbl TABLE
(
Name VARCHAR(20)
);
INSERT INTO @Tbl VALUES
('Jim'),
('Tim'),
('Kim');
DECLARE @ReturnVar VARCHAR(256);
SELECT STUFF((SELECT ',' + Name
FROM @Tbl
FOR XML PATH('')),1,1,'') AS Name;
Вы можете найти немного большедеталь здесь .