У меня есть базовый 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
Что я делаю не так? Любая помощь приветствуется!
Спасибо!