2016-08-06 87 views
0

ここは私のクエリです。SQL Server:列プレフィックスがテーブル名と一致しません

列の接頭辞「A」が、クエリで使用されるテーブル名またはエイリアス名と一致しません。

クエリは右私

Declare @date1 nvarchar(50) = '2015-12-31' 
Declare @date2 nvarchar(50) = '2016-03-31' 

DECLARE @query AS NVARCHAR(max) = 
    N'SELECT financial_element_name, financial_structure_value, [' + @date2 + '] , [' + @date1 + '] 
     FROM (SELECT A.[financial_structure_value], A.financial_structure_id, 
        A.financial_analysis_session_id, A.period 
      FROM counterparty_financial_structure A 
      INNER JOIN financial_analysis_session FAS ON FAS.financial_analysis_session_id = A.financial_analysis_session_id 
      WHERE A.counterparty_id = 8736) AS Source_table 
     PIVOT 
      (max(A.[financial_structure_value]) for A.period in (['[email protected]+'] , ['[email protected]+'])) AS PivotTable;' 

EXEC (@query) 

任意の提案をしているように見えますが?問題はこのラインであるので

答えて

1

ピボットは、source_tableと呼ばれるサブクエリ、上にある:

PIVOT (max(A.[financial_structure_value]) for A.period in (['[email protected]+'] , ['[email protected]+'])) AS PivotTable; 

あなただけ使用することができます。

PIVOT (max([financial_structure_value]) for period in (['[email protected]+'] , ['[email protected]+'])) AS PivotTable; 

注:あなたがダイナミックでエラーを持っていますSQLの場合、変数置換後のSQLを出力すると、約95%の時間でエラーを簡単に見つけ出すことができます。

関連する問題