TCS54321 Ответов: 1

Как объединить значение таблицы SQL с помощью запятой


У меня есть sql-таблица, которая выглядит так:

SQL-запрос:

Выберите * из платы

Выход выглядит так :-

Студенческий Месяц
101 - 3
101 - 4
101 - 5
102 - 1
102 - 2

но мне нужен такой вывод, как:-

Студенческий Месяц
101 - 3,4,5
102 - 1,2


как я могу это сделать с помощью sql-запроса?

Что я уже пробовал:

DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' ,'') + Convert(nvarchar(8),Month)  from fees where studentid in (101,102)
group by studentid,month
SELECT @listStr


я пытаюсь выполнить этот запрос, но результат дает такой запрос, как:

Месяц
3,4,5,1,2

1 Ответов

Рейтинг:
9

OriginalGriff

Попробуй:

SELECT StudentId, Months =
   STUFF((SELECT ', ' + CONVERT(NVARCHAR(2), [Month])
          FROM FEES f
		  WHERE f.StudentId = a.StudentID
   FOR XML PATH ('')), 1, 2, '')
FROM Fees a
GROUP BY StudentId


Maciej Los

5ед!