2016-12-13 9 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) 

これは私の2番目のテーブルの平均を表示していましたが、2番目のテーブルレコードを取得していないSQLクエリです。SQLでの列一致データの相違

+1

EXECコマンドを実行する前に、「PRINT @sql」コマンドを追加して、実行しようとしているSQLコマンドを正確に伝えることができますか?この情報なしであなたを助けるのが難しい場合は.... –

答えて

0

私は実際にあなたのクエリで作業されていないかわからないんだけど(私はあなたがエラーを取得すると仮定している)が、動的なクエリを実行するために、あなたが使用する必要が構築してきました:

exec sp_executesql @sql 
+0

ありがとう....働いて良い:) – amit

関連する問題