【发布时间】:2010-11-16 14:46:58
【问题描述】:
我在这里有一个基本的 PIVOT 问题,可能不会给您的专家带来任何麻烦:
我得到了这个运行良好的 SQL:
SELECT order_year, SUM(amount) AS Amount
FROM dbo.mytable
GROUP BY order_year;
这会返回类似:
2010 7000000
2007 8051222
2008 7099057
2009 13088790
现在我想使用与此 MSDN 文章中所述相同的原理来旋转表格:http://msdn.microsoft.com/en-us/library/ms177410.aspx
我试过这个:
SELECT 'Amount' AS Total_Amount_Sorted_By_Order_Year,
[0], [1], [2], [3], [4]
FROM
(SELECT order_year, amount
FROM dbo.mytable ) AS SourceTable
PIVOT
(
SUM(amount)
FOR order_year IN ([0], [1], [2], [3], [4])
) AS PivotTable;
但这会返回一堆 NULL! :(
Amount NULL NULL NULL NULL NULL
我做错了什么?任何帮助表示赞赏!
谢谢!
【问题讨论】:
-
您不应该使用实际年份值 [2010]、[2009] 而不是 [0]、[1] 等?
标签: sql windows-server-2008 pivot