Создание длинной строки из набора результатов

У меня есть набор результатов в MS-SQL в хранимой процедуре, и, допустим, у него есть один столбец VARCHAR, но много строк. Я хочу создать строку, разделенную запятыми, содержащую все эти значения. Есть ли простой способ сделать это, или мне придется проходить через каждый результат и строить строку вручную?

Желательно сделать это в самой хранимой процедуре.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
5
0
4 529
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вот один из способов (с использованием БД AdventureWorks2008):

DECLARE @name varchar(255)
SET @name = NULL

select @Name = COALESCE(@Name + ',','') + LastName from Person.Person
Select @name

А вот еще один (для SQL 2005 и новее):

SELECT 
    LastName + ','
FROM 
    Person.Person
FOR XML PATH('') 

В обоих случаях вам нужно будет удалить конечную запятую ',' (можно использовать функцию STUFF ())

То, как я только что открыл для себя: D

Sekhat 17.11.2008 16:52

Этот вопрос задавали несколько раз раньше:

Как вернуть несколько значений в один столбец (T-SQL)?

Другие вопросы по теме