Использование XML может быть возможным решением, особенно если вы еще не можете использовать STRING_AGG()
.
SELECT DISTINCT
[ID],
[user],
STUFF((SELECT ', ' + [group]
FROM [MyTable]
WHERE [ID] = T.[ID] AND [user] = T.[user]
FOR XML PATH('')), 1, 2, '') AS [groups]
FROM
[MyTable] AS T
Подзапрос преобразует группы в строку XML-результата (ну, просто текст в этомдело).К каждой отдельной группе добавляется разделитель (', '
), длина которого в этом случае составляет 2 символа.Первый разделитель должен быть удален из конечного результата, что делается с помощью функции STUFF
.