【问题标题】:How to insert data into another table retrieved from Pivot select statement and containing dynamic columns?如何将数据插入从 Pivot select 语句检索并包含动态列的另一个表中?
【发布时间】:2016-08-22 16:48:33
【问题描述】:

这是我的查询,

DECLARE @BranchAsColumn nvarchar(max) -- 它可能包含以逗号(,)分隔的分支名称,用作动态列,并且可能会有所不同,例如#ABC,#LMN,#XYZ

DECLARE @Branches nvarchar(max) -- 它可能包含以逗号(,)分隔的分支名称,用于过滤条件,并且可能会有所不同,例如ABC,LMN,XYZ

EXEC('Select CompanyID,Company,Category,SubCategory,Months,'+@BranchAsColumn+'                  
                    From
                        (   Select                                                      
                                BranchID,
                                Branch,                             
                                CompanyID,  
                                Company,    
                                Months,
                                Department,                             
                                Amount                              
                            From #Data
                        )P
                        PIVOT
                        (
                            SUM(Amount)
                            For Branch in ('+@Branches +')
                        ) As Pivottable')

我会在这里得到什么结果我只是想将检索到的数据插入到另一个表中,所以请这里的任何人帮助我获得完美的解决方案。

【问题讨论】:

    标签: sql-server sql-server-2008 pivot pivot-table temp-tables


    【解决方案1】:

    试试这个:

    EXEC('Select CompanyID,Company,Category,SubCategory,Months,'+@BranchAsColumn+'
            INTO ##MyTable
            From ( Select
            BranchID, Branch,
            CompanyID,
            Company,
            Months, Department,
            Amount
            From #Data )P PIVOT ( SUM(Amount) For Branch in ('+@Branches +') ) As Pivottable')
    
     -- test results
    SELECT * FROM ##MyTable
    

    【讨论】:

    • 感谢 Arulkumar (y)
    猜你喜欢
    • 2020-12-14
    • 2021-06-12
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 2015-09-22
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多