0
我檢索從SQL Server記錄數2005數據庫:樞軸一次的數據行,同時保持其他列的完整
我想透視數據,顯示效果如下:
日期和過程可以是無限的,所以我想使用動態數據透視。我嘗試了幾個解決方案,但無法使其工作。
我檢索從SQL Server記錄數2005數據庫:樞軸一次的數據行,同時保持其他列的完整
我想透視數據,顯示效果如下:
日期和過程可以是無限的,所以我想使用動態數據透視。我嘗試了幾個解決方案,但無法使其工作。
那麼,首先,你不能在表中有無限數量的列,所以我假設你有更少的1023個進程。總之,你需要使用動態旋轉此:
DECLARE @Processes AS NVARCHAR(MAX), @Query AS NVARCHAR(MAX);
SELECT @Processes = STUFF((SELECT DISTINCT ',' + QUOTENAME(Process)
FROM YourTable
WHERE Process IS NOT NULL
FOR XML PATH(''),
TYPE).value('.', 'NVARCHAR(MAX)'),1,1,'')
SET @Query = '
SELECT *
FROM YourTable T
PIVOT(SUM([Percent]) FOR Process IN ('[email protected]+')) AS PT'
EXEC(@Query)
Here is a sqlfiddle了現場演示。