我想要PIVOT一个表并添加一个WHERE子句但我无法弄清楚语法。
dbo.SOME_VIEW YEAR AMOUNT ==================== 2014 1 2013 2 2012 5.6 2011 574 2010 123
SELECT
*
FROM SOME_VIEW
PIVOT (SUM(AMOUNT) FOR [YEAR] IN ([2012], [2013], [2014])) AS PIVOTED
现在我想从视图中获取只有我将PIVOT的年份的行,所以我想添加
WHERE YEAR IN (2012, 2013, 2014)
将WHERE
放在FROM SOME_VIEW
SELECT
*
FROM SOME_VIEW WHERE YEAR IN (2012, 2013, 2014)
PIVOT (SUM(AMOUNT) FOR [YEAR] IN ([2012], [2013], [2014])) AS PIVOTED
我得到:Incorrect syntax near the keyword 'PIVOT'
。当我在末尾添加WHERE
时,我得到Invalid column name 'YEAR'
。
当我使用PIVOT时,我在哪里可以添加WHERE子句?
表现。在视图中我从1990年开始有多年,但我只想要最后几年。我希望当我添加一个提高性能的地方时。