У меня есть аналогичное требование для извлечения имен столбцов для использования в запросе PIVOT.
Я использовал следующее решение:
SELECT @columns = STUFF((SELECT '],[' + Value
FROM Table
ORDER BY Value
FOR XML PATH('')), 1, 2, '') + ']'
Это дает одну строку:
[Value 1],[Value 2],[Value 3]
Надеюсь, это направит вас в правильном направлении.