Я не уверен, что PIVOT (или UNPIVOT) - это то, что вы ищете. Ниже приведен код, который я использую, когда мне нужно получить список CSV, встроенный в запрос. Надеюсь, это поможет!
SELECT DISTINCT
ID
, Class = STUFF(
cast(
(select ', ' + cast(Class as nvarchar)
from TableName t2
WHERE t2.ID = t1.ID
for xml path('')) as nvarchar(2000))
,1,2, N'')
FROM TableName t1