0
我制定了以下動態SQL查詢以將未知數量的行值(Maschine Names作爲nvarchar)轉換爲列。 Pivoted Columns的行值應該是特定Maschine的停機時間和維護時間(包括int)的總和。動態SQL中的分組和聚合函數透視查詢
DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX);
SET @columns = N'';
SELECT @columns += N', p.' + QUOTENAME(Maschines)
FROM (SELECT Maschines FROM Rawdata AS p
GROUP BY MASCHINE) AS x;
SET @sql = N'
SELECT ' + STUFF(@columns, 1, 2, '') + '
FROM(
SELECT * from Rawdata
) AS j
PIVOT
(
SUM(maintenance) FOR Maschines IN ('
+ STUFF(REPLACE(@columns, ', p.[', ',['), 1, 1, '')
+')
) AS p;';
EXEC sp_executesql @sql;
查詢returnes求和的維護時間,但一旦我嘗試包括總和(如求和(維修+停機時間))超過一個專欄中,我親近「+」的錯誤。
此外,該查詢返回一個樞軸表,但仍具有相同的行數,不過,我需要的是爲列的未知數量的分組結果,從而只包含一個行