2016-11-25 5 views
0

毎週カラムとして年次レポートを取得するには、pivotクエリを作成してクエリが機能しないようにする必要があります。トラブルシューティング時には、私は次のようにそれを隔離しました:ピボットSQLクエリが機能していません

WITH PivotData AS 
(
select [ProjectWork Number], WeekNO, WeekValue From dbo.staging 
) 

select [ProjectWork Number], WeekValue, 'Apr-03-2016', 'Apr-10-2016' 
From PivotData 
PIVOT 
(
Sum(WeekValue) For WeekNO in ('Apr-03-2016', 'Apr-10-2016') 
) As PivotResult 

これは、エラーがスローされます:

Msg 102, Level 15, State 1, Line 10 Incorrect syntax near 'Apr-03-2016'.

より詳細な議論は、あなたならばそれは非常に高く評価されるだろうsqlservercentral

で見つけることができます私はそれを並べ替えることができます。

ありがとうございます。

+0

「使用しているdbmsのタグを付けてください! (一部のANSI以外のSQL ...) – jarlh

答えて

2

大括弧を区切り記号として使いたいが、一重引用符ではない。

WITH PivotData AS (
    select [ProjectWork Number], WeekNO, WeekValue From dbo.staging 
) 
select [ProjectWork Number], WeekValue, [Apr-03-2016], [Apr-10-2016] 
From PivotData 
PIVOT (
    Sum(WeekValue) For WeekNO in ([Apr-03-2016], [Apr-10-2016]) 
) As PivotResult; 

私はあなたがISO(などYYYY-MM-DDなど)標準の日付形式ではなく、場所に依存したものを使用することを示唆している:「日付」は列の名前ではなく、vauesです。

+0

提案していただきありがとうございます。「無効な列名:WeekValue」、WeekValueはdbo.stagingの列です。どういう意味ですか? – PasLeChoix

+0

@PasLeChoix。 。 。 'WeekValue'が実際に' dbo.staging'にある場合、あなたはそのエラーをどうやって得ることができないのか分かりません。おそらくその名前にはスペースがありますか? –

0
;WITH PivotData AS (select [ProjectWork Number], WeekNO, WeekValue From dbo.staging)select * FROM (SELECT [ProjectWork Number], WeekValue, WeekNO From PivotData)A PIVOT (Sum(WeekValue) For WeekNO in ([Apr-03-2016], [Apr-10-2016])) As PivotResult; 
関連する問題