2016-08-06 2 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 %의 오류를 쉽게 찾아 낼 수 있습니다.

관련 문제