2016-12-05 199 views
0

我是在SQL中使用Pivot時遇到的一些麻煩。SQL Pivot「關鍵字'PIVOT'附近的語法不正確。」

我不斷不斷收到一個錯誤,當我嘗試嵌入數據透視表,我選擇查詢,儘管讀一些網頁我似乎無法弄清楚小時。

我正在使用儀表板數據庫,它將在查詢中包含多個數據透視表(5),每個儀表板都有一個數據透視表。這可能嗎?

我得到的錯誤是:

消息156,15級,狀態1,38號線 附近的關鍵字 'PIVOT' 不正確的語法。

我的查詢看起來像這樣

SELECT 
    /* Query for dashboard 1 **/ 
    [ProjectUID] AS [Project UID], 
    [ + 8 Regular selects not related to the pivot ] 

    /* Query for dashboard 2 **/ 
    [...] 

     /* Query for dashboard 3 **/ 
    [...] 

     /* Dashboard WOWs */ 
    (SELECT * FROM [PB_Customer]) 
    PIVOT 
     (
      COUNT (MValue) 
      for MValue 
       in (
       [Customer], 
       [MNeeds], 
       [Bousa], 
       [backbook] 
       ) 
     ) AS pvt_table_wow 

    FROM [Table 1], [Table 2], [Table 3] 

    WHERE Table1.ProjectUID=.Table2PROJECTUID 
      AND Table2.[Ping] IS NOT NULL 
      AND Table2.[Bousa] NOT IN ('0') 
      AND Table1.ProjectUID=Table3.PUID; 

任何人可以幫助我嗎?

+0

您可以在樞紐'*'使用。您需要指定列名和別名 - 看看這個 - > https://technet.microsoft.com/en-us/library/ms177410%28v=sql.105%29.aspx – Hogan

+0

剛剛從你什麼表現,應該在/ * Dash板之前有一個FROM WOWs * /。具體在哪裏,取決於查詢。看一下這個。 https://msdn.microsoft.com/en-us/library/ms177410.aspx – DVT

+0

你不走樣的子查詢它上面,但也許是或不應該是一個子查詢,那麼很難說因爲在pivot的下面有另一個FROM和WHERE子句......發佈你所有的代碼,它可以說明一些事情。 – scsimon

回答

0

您必須別名的子查詢

變化

(SELECT * FROM [PB_Customer]) PIVOT 

(SELECT * FROM [PB_Customer]) c PIVOT 
相關問題