2016-12-13 2 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, у меня было отображение второй таблицы, но не получение вторых записей таблицы.Column Matching Data chatch в SQL

+1

Перед вашей командой EXEC вы можете добавить команду «PRINT @sql» и сообщить нам точную команду SQL, которую вы пытаетесь запустить. Если вам сложно помочь без этой информации .... –

ответ

0

Я не уверен, что на самом деле не работает с вашим запросом (я предполагаю, что вы получите ошибку), но для того, чтобы выполнить динамический запрос вы построить вам нужно использовать:

exec sp_executesql @sql 
+0

Спасибо .... работаю хорошо :) – amit