冰雹同胞程序員和查詢作家,樓梯行爲與擺動數據
我有這個美麗的查詢
SELECT ID, [1] AS coL1, [15] AS coL2, [2] AS coL3, [16] AS coL4, [12] AS coL5
FROM MY_TABLE
PIVOT (sum(INT_VALUE) FOR FUND_CODE IN ([1],[2],[15],[16],[12])) AS p
--GROUP BY ID, [1] , [15] , [2] , [16] , [12]
ORDER BY ID ASC
返回我的數據是這樣的:
10001 182 NULL NULL NULL
10001 NULL 81 NULL NULL
10001 NULL NULL 182 NULL
10001 NULL NULL NULL 81
10002 165 NULL NULL NULL
10002 NULL 73 NULL NULL
10002 NULL NULL 165 NULL
10002 NULL NULL NULL 73
的10001 10002是兩個主鍵,我想顯示我的數據是這樣的:
10001 182 81 182 81
10002 165 73 165 73
我試過這個評論GROUP BY無濟於事。 任何提示?它涉及COALESCE嗎?
我相信這個網站有答案,但我看不到光。 「http://blogs.msdn.com/b/craigfr/archive/2007/07/03/the-pivot-operator.aspx」。 – 2010-10-04 14:16:44
你用什麼邏輯來確定col1的值182是col2的值是81而不是73? – 2010-10-04 14:24:51
在你的例子中,因爲它目前,10001 **不是* *主鍵 - 有兩行。可能的主鍵應該是ID,加上其他一些列? – 2010-10-04 15:00:35