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查询我已经显示第二个表avg但没有得到第二个表记录。
答案 0 :(得分:0)
我不确定您的查询实际上没有用处(我假设您收到错误),但为了执行您构建的动态查询,您需要使用:
exec sp_executesql @sql