2016-12-13 1 views
0
DECLARE @ompid NVARCHAR(max) 
DECLARE @Names VARCHAR(max) 

SELECT @Names = COALESCE(@Names + ') as ' + Variable_Name + ' ,AVG(', 'AVG(') + Variable_Name 
FROM charttest 
WHERE ompid = 125 

DECLARE @lastcol NVARCHAR(100) = (
     SELECT TOP 1 (Variable_Name) 
     FROM charttest 
     WHERE ompid = 125 
     ORDER BY Variable_Name ASC 
     ) 
DECLARE @Names2 NVARCHAR(500) = @Names + ') as ' + @lastcol + '' 
DECLARE @sql NVARCHAR(500) 

SET @sql = 'SELECT ' + @Names2 + ' FROM ompvaribles' 

EXEC (@sql) 

이것은 두 번째 테이블 평균을 표시했지만 두 번째 테이블 레코드를 가져 오지 않은 SQL 쿼리입니다.SQL의 열 일치 데이터 요약

+1

EXEC 명령을 사용하기 전에 "PRINT @sql"명령을 추가하고 실행할 정확한 SQL 명령을 알려주십시오. 이 정보 없이는 당신을 도울 수 없다면 .... –

답변

0

나는,하지만 당신은 당신이 사용할 필요가 구축했습니다 동적 쿼리를 실행하기 위해 실제로 (난 당신이 오류를 얻을 수 있으리라 믿고있어) 쿼리 작동하지 않습니다 모르겠어요 :

exec sp_executesql @sql 
+0

고마워 .... 잘 했어 :) – amit