Я пытаюсь повернуть таблицу на позиции X и Y. Таблица в формате, аналогичном приведенному ниже.
У каждой строки есть значение, относящееся к ее позиции в строке и столбце.'AThing 'и' FileName 'должны игнорироваться в наборе данных.
Так что, если бы это было развернуто, мы получили бы:
Я пытался какое-то время, но не могу понять, какие-нибудь идеи?
РЕДАКТИРОВАТЬ: Количество полей являются динамическими для «FileName». Мне удалось извлечь имена столбцов, но не данные, используя:
-- Construct List of Columns to Pivot
SELECT @PivotCols =
STUFF(
(SELECT ',' + QUOTENAME(FieldName)
FROM #Data
GROUP BY ColPos, FieldName
ORDER BY ColPos ASC
FOR XML PATH(''),TYPE).value('.', 'NVARCHAR(MAX)')
,1,1,'')
SET @PivotQuery =
SELECT ' + @PivotCols + N'
FROM
(
SELECT ColPos, FieldName
FROM #Data
GROUP BY ColPos, FieldName
) x
PIVOT
(
MIN(ColPos)
FOR FieldName IN (' + @PivotCols + N')
) p'
EXEC sp_executesql @PivotQuery