Используя хранимую процедуру SQL, можем ли мы получить следующий вывод? или справиться с этим внутри самого кода? - PullRequest
0 голосов
/ 31 августа 2018

enter image description here

enter image description here

Изображение 1 - это текущие данные, Изображение 2 - это данные, которые мне нужно сохранить в новой таблице. Дело в том, что я хочу объединить все то же ITEM_NO и поместить его в качестве значения, разделенного запятыми, и вставить в новую таблицу.

1 Ответ

0 голосов
/ 31 августа 2018

Хотя я не думаю, что хранить такие данные - это вообще хорошая идея (посмотрите, что другие сказали в комментариях), это возможно сделать:

SELECT REFERENCE_NO, 
       ITEM_NO, 
       ROLES = STUFF((SELECT N', ' + ENTITY_ROLE 
                      FROM dbo.MyTable AS p2
                      WHERE p2.ITEM_NO = p.ITEM_NO 
                      ORDER BY ENTITY_ROLE
                      FOR XML PATH(N'')), 1, 2, N'')
FROM dbo.MyTable AS p
GROUP BY REFERENCE_NO, ITEM_NO
ORDER BY ITEM_NO;

Демонстрация этого в действии: SQL Fiddle

...