@NataliaCh

Как написать запрос TSQL?

Есть таблица вида
num | text
----------------
1 | name1
2 | name2
2 | name3
2 | name4
3 | name5

как написать запрос, чтобы вывести данные в таком виде
num | all_text
------------
1 | name1
2 | name2, name3, name4
3 | name5
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
Planet_93
@Planet_93
Данные:

5d679def8de92311191124.jpeg

Запрос:

SELECT
T1.Id,

(SELECT concat(T2.Name, '; ') 
FROM dbo.Test AS T2
WHERE T2.Id = T1.Id
FOR XML PATH('')) AS Name

FROM
dbo.Test AS T1
GROUP BY T1.Id


Результат:

5d679dfd51aae997147677.jpeg
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BojackHorseman
@BojackHorseman
...в творческом отпуске...
STRING_AGG (Transact-SQL)

SELECT num, STRING_AGG(text, ', ') AS all_text
FROM <tablename>
GROUP BY num;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы