Вы можете объединить, используя встроенный оператор 'set' в запросе:
declare @combined varchar(2000)
select @combined = isnull(@combined + ', ','') + isnull(value,'')
from simpleTable
print @combined
(Обратите внимание, что первый isnull () инициализирует строку, а второй isnull () особенно важен, если в столбце «значение» есть вероятность появления нулевых значений, поскольку в противном случае один ноль может уничтожить всю конкатенацию)
(отредактированный код и пояснения после комментариев)
Редактировать (десять лет спустя):
SQL Server 2017 представил функцию STRING_AGG () , которая обеспечивает официальный способ объединения строк из разных строк. Как и другие функции агрегирования, такие как COUNT (), его можно использовать с GROUP BY.
Таким образом, для приведенного выше примера вы можете сделать:
select string_agg(value, ', ')
from simpleTable
Если у вас есть какой-то другой столбец и вы хотите объединить значения этого столбца, вы бы добавили предложение group by, например:
select someCategory, string_agg(value, ', ') as concatValues
from simpleTable
group by someCategory
Примечание. String_agg будет работать только с SQL 2017 и выше.