从动态SQL结果中选择*到临时表中

格里姆·里伯(Grim Rieber)

我编写了一个动态数据透视表,需要将结果输入到临时表中以将结果连接到另一个表。

也许有一种更好的方法可以在不插入Temp表的情况下获得我想要的结果?我可以在Dynamic Pivot内加入表以获得所需的最终结果吗?

得到错误:

Msg 263, Level 16, State 1, Line 59
Must specify table to select from.

Msg 1038, Level 15, State 5, Line 59
An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.

我的代码如下:

 declare @RealYear as nvarchar(max)
select @RealYear= '2016'
IF OBJECT_ID('tempdb.dbo.#TempCosts', 'U') IS NOT NULL
  DROP TABLE #TempCosts; 

IF OBJECT_ID('tempdb.dbo.#TempCostsFinal', 'U') IS NOT NULL
  DROP TABLE #TempCostsFinal; 

select * into #TempCosts from
(
--Journal Entries
select * from lth.dbo.vwJournalEntries_LTWS1
union all
--Non Journal Entries
select *,'' from lth.dbo.vwweeklydebits_ltws1
)D

--select * from #TempCosts
DECLARE @cols AS NVARCHAR(MAX)
declare  @query  AS NVARCHAR(MAX)
declare @temptable as nvarchar(max)

select @cols = STUFF((SELECT ',',  QUOTENAME(AccountRef_FullName) 
  from #TempCosts
                    group by AccountRef_FullName
                    having accountref_Fullname is not null
                    order by AccountRef_FullName
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,1,'')

set @query = 'SELECT *,  ' + @cols + ' from 
             (
                select *
                from #TempCosts
                where year = ' + @RealYear + '
            ) x
            pivot 
            (
                sum(Amount)
                for AccountRef_FullName in (' + @cols + ')
            ) p 

        '


        execute(@query)


    select * into #TempCostsFinal Execute(@query)
约翰·卡佩莱蒂

这是有风险的,因为您有发生碰撞的风险,并且效率不高,但是您可以将动态结果放入## TempPivot

Set @query = '

IF OBJECT_ID(''tempdb..##TempPivot'') IS NOT NULL
  DROP TABLE ##TempPivot


SELECT *,' + @cols + ' 
 Into ##TempPivot
 From (
        select *
        from #TempCosts
        where year = ' + @RealYear + '
       ) x
    pivot 
    (
        sum(Amount)
        for AccountRef_FullName in (' + @cols + ')
    ) p 
'
Exec(@query)

Select * Into #Temp from ##TempPivot

Drop Table ##TempPivot

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从while循环(光标)中选择到临时表中

来自分类Dev

将表中的数据插入到临时表中,然后从临时表中选择特定行

来自分类Dev

将SQL查询的结果插入到临时表中

来自分类Dev

SQLITE查询结果到临时表中

来自分类Dev

动态数据透视表结果到临时表

来自分类Dev

从动态创建的内联表中选择

来自分类Dev

PostgreSQL返回选择结果并将它们添加到临时表中?

来自分类Dev

循环遍历 SQL 结果并将它们插入到临时表中

来自分类Dev

将存储过程结果集分离到临时表中

来自分类Dev

MYSQL-从动态表名称中选择数据

来自分类Dev

SQL性能降低(改进插入到临时表中)

来自分类Dev

如何动态添加列到临时表?

来自分类Dev

SQL Server 2008 R2:从存储过程返回结果并将其插入到临时表中

来自分类Dev

PostgreSQL返回选择结果并将其添加到临时表?

来自分类Dev

如何从动态列表创建临时表

来自分类Dev

XML输入到临时表中

来自分类Dev

根据另一个临时表中的行将列动态添加到临时表中

来自分类Dev

SQL选择行并从动态多个表中删除/更新

来自分类Dev

将带有CTE查询的结果插入到临时表中

来自分类Dev

将执行字符串的结果存储到临时表中

来自分类Dev

将命令选择到临时表中以稍后在PostgreSQL中执行

来自分类Dev

将命令选择到临时表中以稍后在PostgreSQL中执行

来自分类Dev

embjerjs从动态数据中选择

来自分类Dev

使用vba需要帮助以从动态工作表中选择具有动态数据的行,并在Excel中合并到新工作表中

来自分类Dev

使用vba需要帮助以从动态工作表中选择具有动态数据的行,并在Excel中合并到新工作表中

来自分类Dev

从表结果中选择的SQL性能

来自分类Dev

在SQL Server中拆分行和列并插入到临时表中?

来自分类Dev

案例选择,然后插入到临时表不起作用

来自分类Dev

SQL-将记录添加到临时表中,直到满足顺序

Related 相关文章

  1. 1

    从while循环(光标)中选择到临时表中

  2. 2

    将表中的数据插入到临时表中,然后从临时表中选择特定行

  3. 3

    将SQL查询的结果插入到临时表中

  4. 4

    SQLITE查询结果到临时表中

  5. 5

    动态数据透视表结果到临时表

  6. 6

    从动态创建的内联表中选择

  7. 7

    PostgreSQL返回选择结果并将它们添加到临时表中?

  8. 8

    循环遍历 SQL 结果并将它们插入到临时表中

  9. 9

    将存储过程结果集分离到临时表中

  10. 10

    MYSQL-从动态表名称中选择数据

  11. 11

    SQL性能降低(改进插入到临时表中)

  12. 12

    如何动态添加列到临时表?

  13. 13

    SQL Server 2008 R2:从存储过程返回结果并将其插入到临时表中

  14. 14

    PostgreSQL返回选择结果并将其添加到临时表?

  15. 15

    如何从动态列表创建临时表

  16. 16

    XML输入到临时表中

  17. 17

    根据另一个临时表中的行将列动态添加到临时表中

  18. 18

    SQL选择行并从动态多个表中删除/更新

  19. 19

    将带有CTE查询的结果插入到临时表中

  20. 20

    将执行字符串的结果存储到临时表中

  21. 21

    将命令选择到临时表中以稍后在PostgreSQL中执行

  22. 22

    将命令选择到临时表中以稍后在PostgreSQL中执行

  23. 23

    embjerjs从动态数据中选择

  24. 24

    使用vba需要帮助以从动态工作表中选择具有动态数据的行,并在Excel中合并到新工作表中

  25. 25

    使用vba需要帮助以从动态工作表中选择具有动态数据的行,并在Excel中合并到新工作表中

  26. 26

    从表结果中选择的SQL性能

  27. 27

    在SQL Server中拆分行和列并插入到临时表中?

  28. 28

    案例选择,然后插入到临时表不起作用

  29. 29

    SQL-将记录添加到临时表中,直到满足顺序

热门标签

归档