我正在尝试在 X 和 Y 位置上旋转表格。该表的格式类似于下面。
每行都有一个与其行和列位置相关的值。在数据集中将忽略“AThing”和“文件名”。
因此,如果这是旋转的,我们将得到:
我已经尝试了一段时间,但似乎无法弄清楚,有什么想法吗?
编辑:每个“文件名”的字段数是动态的。我设法使用以下方法提取列名而不是数据:
-- 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