相关疑难解决方法(0)

将表变量与sp_executesql一起使用

我有一个包含表变量的查询:

DECLARE @Selects    XML ;
SET @Selects='<Selects><Select><Q_ID>1</Q_ID><Q_DESC>nima1</Q_DESC></Select><Select><Q_ID>2</Q_ID><Q_DESC>nima2</Q_DESC></Select><Select><Q_ID>3</Q_ID><Q_DESC>nima3</Q_DESC></Select></Selects>'

DECLARE @QuestionID     NVARCHAR(10);
SET @QuestionID='a5';

DECLARE @TblSelect  TABLE 
(
    Q_ID            INT,
    Q_DESC          NVARCHAR(500)
)

INSERT INTO @TblSelect
(
    Q_ID,Q_DESC
)
SELECT  Q_Select.value('(Q_ID)[1]', 'int') AS 'Q_ID',
        Q_Select.value('(Q_DESC)[1]', 'nvarchar(500)') AS 'Q_DESC'
FROM    @Selects.nodes('/Selects/Select') AS AllSelects(Q_Select) 

DECLARE @Query      NVARCHAR(4000);
SET @Query=N'SELECT Q_ID,COUNT(Q_ID) FROM @TblSelect LEFT OUTER JOIN tblbase tb ON @TblSelect.Q_ID = @Col_Select group by Q_ID';

EXECUTE sp_executesql @Query,@TblSelect,@Col_Select
Run Code Online (Sandbox Code Playgroud)

我如何将表变量传递给我的查询?

sql sql-server sql-server-2008

26
推荐指数
1
解决办法
4万
查看次数

将临时表传递给 EXEC sp_executesql

如何将临时表(@table)传递给 EXEC sp_executesql @query

    set @query = 'SELECT GsName, ' + @cols + ' from 
        (
            select GSName, [THour], NumOfTransactions
            from @table
       ) x
        pivot 
        (
             max([NumOfTransactions])
            for [THour] in (' + @cols + ')
        ) p '
Run Code Online (Sandbox Code Playgroud)

sql exec temp-tables sp-executesql ssms-2014

4
推荐指数
1
解决办法
4028
查看次数