TSQL数据透视表语法

时间:2014-12-16 17:21:40

标签: sql sql-server sql-server-2008 tsql pivot-table

我有一个尝试过的数据透视表:

 SELECT * FROM 
(SELECT 
      [SurveyID]
      ,[SurveyQuestion]
      ,[SurveyQuestionID]
      ,[SequenceNumber]      
  FROM [Succession_Tool].[dbo].[SurveyQuestions]
) X
PIVOT
(
    SUM([SurveyID]) FOR [SurveyQuestion] IN (A,B,C)
) Z

我收到以下错误:

Msg 325, Level 15, State 1, Line 9
Incorrect syntax near 'PIVOT'. You may need to set the compatibility level of the current database to a higher value to enable this feature. See help for the SET COMPATIBILITY_LEVEL option of ALTER DATABASE.

我尝试根据stackoverflow上的其他一些文章以及thisthis等其他地方重写它,但它们都会导致上面的错误。我有什么简单的东西吗?对于它的价值,我的compatibility_level是100,这是SQL Serer 2008,我不需要聚合,因为只是希望格式化吐出到CSV文件

更新:我在these方向

后面再次重写了查询
 WITH MYSurveyQuestions AS 
(SELECT 
      [SurveyID]
      ,[SurveyQuestion]
      ,[SurveyQuestionID]
      ,[SequenceNumber]      
  FROM [Succession_Tool].[dbo].[SurveyQuestions]
) 
SELECT * FROM MYSurveyQuestions
PIVOT   
(SUM(SURVEYID) FOR SurveyQuestion
    IN (A,B,C,D,E,F)) AS PVT

现在我收到以下错误:

Msg 102, Level 15, State 1, Line 11 Incorrect syntax near ')'.

不幸的是,这与我的第一个错误具有相同的含义,因为我仍然找不到错误(耸耸肩)......我觉得我离我更近了。双击错误突出显示

  

(SurveyQuestion的SUM(SURVEYID)

0 个答案:

没有答案