冰雹同胞程序员和查询作家,楼梯行为与摆动数据
我有这个美丽的查询
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