Хорошо, извините за плохой вопрос. ГБН получил меня на правильном пути.
Это то, что я искал в ответе.
SELECT [FirstName], [MiddleName], [LastName], [Date]
FROM #temp
PIVOT
( MIN([Data])
FOR [DBColumnName] IN ([FirstName], [MiddleName], [LastName], [Date])
)AS p
Затем я должен был использовать оператор while и построить приведенный выше оператор как varchar и использовать dynmaic sql.
Используя что-то вроде этого
SET @fullsql = @fullsql + 'SELECT ' + REPLACE(REPLACE(@fulltext,'(',''),')','')
SET @fullsql = @fullsql + 'FROM #temp '
SET @fullsql = @fullsql + 'PIVOT'
SET @fullsql = @fullsql + '('
SET @fullsql = @fullsql + ' MIN([Data])'
SET @fullsql = @fullsql + ' FOR [DBColumnName] IN '+@fulltext
SET @fullsql = @fullsql + ')'
SET @fullsql = @fullsql + 'AS p'
EXEC (@fullsql)
Наличие для сборки @fulltext с использованием цикла while и выбора отдельных имен столбцов из таблицы. Спасибо за ответы.