我有一個用於執行數據透視的sql代碼。代碼如下:數據透視表爲同一個ID返回多於1行
SELECT DISTINCT PersonID
,MAX(pivotColumn1)
,MAX(pivotColumn2) --originally these were in 2 separate rows)
FROM(SELECT srcID, PersonID, detailCode, detailValue) FROM src) AS SrcTbl
PIVOT(MAX(detailValue) FOR detailCode IN ([pivotColumn1],[pivotColumn2])) pvt
GROUP BY PersonID
在源數據中的ID具有2個獨立的行由於其自身的ID分開的值。我現在已經旋轉了它,它仍然給我2個單獨的行ID,即使我將它分組並在透視列上使用聚合。艾想法最新代碼錯了什麼?
所以我有我所有的可能detailCode列在IN
條款。所以我沒有返回null時,值是沒有,但我希望它全部彙總在1行。見下圖。
樣本數據和預期的結果,請 –
要麼使用'pivot'或使用'group by',但不能同時使用。如果使用'pivot',則應該消除子查詢中使兩行看起來不同的列。 –