Я пытался перенести это;
**ProjectNum PillarID BusinessPillar**
95329 29 Pillar29
95329 1 Pillar1
95354 1 Pillar1
95354 4 Pillar4
95354 7 Pillar7
В это;
**ProjectNum Pillars**
95329 Pillar1, Pillar29
95354 Pillar1, Pillar4, Pillar7
Я смотрел на использование pivot / unpivot, и я получил это далеко
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT ',' + QUOTENAME(PillarID)
from dbo.MyTable
group by BusinessPillar, PillarID
order by PillarID
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = N'SELECT ProjectNum, ' + @cols + N' from
(
select ProjectNum, PillarID, BusinessPillar
from dbo.MyTable
) x
pivot
(
max(BusinessPillar)
for PillarID in (' + @cols + N')
) p '
exec sp_executesql @query;
Однако у меня много проблем с выяснением того, как объединить все сводные результаты в один столбец, разделенный запятыми, как в моем желаемом примере.
Любая помощь или направление приветствуется.