2017-03-29 2 views
0
DECLARE @query VARCHAR(max) 
DECLARE @years VARCHAR(max) 

SELECT @years = STUFF((SELECT DISTINCT '],[' + ltrim(str(Years)) FROM 
       #Inquires ORDER BY '],[' + ltrim(str(Years)) desc FOR XML 
       PATH('')), 1, 2, '') + ']'  

SET @query = 'INSERT INTO Table_Name SELECT * 
       FROM (SELECT ReportDate, Company, EventType, Years,Months#, 
        Months,Inquires FROM #Inquires 
        WHERE Company = ''Company_Name'')t PIVOT (SUM(Inquires) 
        FOR Years IN ('[email protected]+')) AS pvt ORDER BY Company, Months#' 

EXECUTE (@query) 

: 테이블 정의와 일치하지 않습니다 제공 값의열 이름 제공된 값의 개수 나는 SQL Server의 테이블 정의와 일치하지 않는이 코드를 실행하는 동안이 오류가 무엇입니까 2014

열 이름이나 번호를

이 코드는 SQL Server 2008의 벌금을 실행하지만, SQL Server의 2014

+0

실행하기 전에 SQL을 인쇄하십시오. 아마 나이지만, @ years는 이상하게 보입니다. –

답변

0

나는 당신이 지금 년 이상 returne이 같은데요하지 귀하의 pivot에서 귀하의 테이블에있는 것보다

insertselect에 대한 열 이름을 지정하십시오.

+0

그것은 효과가있었습니다. 감사합니다 :) –

+0

@ JayMehta 도와 드리겠습니다! – SqlZim