Sql server 2008 执行查询后,我想继续
我尝试的查询:Sql server 2008 执行查询后,我想继续,sql-server-2008,Sql Server 2008,我尝试的查询: Empcode Empname COmpany Department Question Scale ----------------------------------------------------------------------- 1001 ABC Comp1 IT Development Opportunities 50 1001 ABC Comp1
Empcode Empname COmpany Department Question Scale
-----------------------------------------------------------------------
1001 ABC Comp1 IT Development Opportunities 50
1001 ABC Comp1 IT Goals and Targets Set 30
1001 ABC Comp1 IT Feedback and Coaching 10
1002 XYZ Comp1 IT Goals and Targets Set 60
1002 XYZ Comp1 IT Feedback and Coaching 70
执行之后,我希望返回结果集并继续。如何操作?如果我正确理解您的要求,您可以创建一个临时表,并将结果集放入一个临时表中,您可以在返回最终结果之前进行进一步处理。是的,我得到了它,但它应该是一个全局临时表,只有这样我才能在执行命令后使用“进一步”命令。要创建全局临时表,请临时表在表名之前有两个数字符号,而不是一个(##temp#u tbl)。当创建表的会话结束并且所有其他任务停止引用全局表时,全局表将自动删除。您可以考虑创建一个常规表,您可以在每次完成之后清空该表。
DECLARE @cols AS NVARCHAR(MAX)
DECLARE @query AS NVARCHAR(MAX)
SELECT @cols = STUFF((SELECT distinct ',' + QUOTENAME(Question)
from TmpTest1
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT Empcode,Empname,Company,Department,' + @cols + '
from
(
select *
from TmpTest1
) x
pivot
(
max(scale)
for Question in (' + @cols + ')
) p '
execute(@query)