2016-09-14 18 views
0

私のPIVOT関数の構文にエラーが発生しました。理由を調べることができません。SQL ServerでのPIVOt機能

私のクエリは次のとおりです。

SELECT Month_ID 
    ,Key 
    ,C.App_ID 
    ,APP_Name 
    FROM Usage C 
    INNER JOIN Applications B ON C.App_ID = B.App_ID 
    WHERE C.Key IN ('6853', 
    '6859', 
    '6861', 
    '6863', 
    '8580', 
    '8626', 
    '8639', 
    '8717', 
    '8721', 
    '8731', 
    '8737', 
    '8744', 
    '8754', 
    '8873', 
    '8876', 
    '8884', 
    '9014', 
    '9080', 
    '9083', 
    '9085', 
    '9097', 
    '9101', 
    '9115', 
    '9117', 
    '9353', 
    '9354', 
    '9358', 
    '9380', 
    '9383', 
    '9385', 
    '9411', 
    '9471', 
    '9514', 
    '9587', 
    '9594', 
    '9595', 
    '9598') 
PIVOT(MAX(B.App_ID) FOR App_NAME IN (
"Data Management Services", 
"intelliSource", 
"Price Performance", 
"Marketplace_Procure", 
"Spend Essentials", 
"Apt", 
"Prov")) AS PVT 

そして、私は入れませんエラーは次のとおりです。

メッセージ156、レベル15、状態1、行38053 キーワード 'PIVOT' 付近に不適切な構文。

+0

テーブルの構造を教えてください。 – vamsi

+0

テーブルの構造はどういう意味ですか? –

+0

テーブルとそのカラム名との関係は – vamsi

答えて

2

私はこの構造を持っていないので、私は私の側でそれをテストすることはできません。テーブル構造とデータを含めると、回答者の仕事が少なくなります(将来の参照用に)。

SELECT 
    * 
FROM 

(SELECT 
    Month_ID ,Key ,C.App_ID ,APP_Name 

FROM 
    Usage C 
    INNER JOIN Applications B ON C.App_ID = B.App_ID 
WHERE 
    C.Key IN ('6853', '6859', '6861', '6863', '8580', '8626', '8639', '8717', '8721', '8731', '8737', '8744', '8754', '8873', '8876', '8884', '9014', '9080', '9083', '9085', '9097', '9101', '9115', '9117', '9353', '9354', '9358', '9380', '9383', '9385', '9411', '9471', '9514', '9587', '9594', '9595', '9598') 
) as source 
PIVOT(MAX(B.App_ID) FOR App_NAME IN ("Data Management Services", "intelliSource", "Price Performance", "Marketplace_Procure", "Spend Essentials", "Apt", "Prov")) AS PVT 
+0

それは私にPVTの終わりに構文エラーを与える –