Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 执行查询后,我想继续_Sql Server 2008 - Fatal编程技术网

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)