如何根据日期动态获取列名称

如何根据日期动态获取列名称

我有一个列名,其中的日期来自一个表,并且从当前月份变为过去 41 个月。我必须一遍又一遍地写入列名才能达到所需的输出。有什么方法可以动态获取列名吗?

Select product_Aggr.[ID], product_Aggr.group_code, product_Aggr.[Product_desciption], product_Aggr.Period, 
           product_Aggr.[Actual_Volume], product_Aggr.[Actual_Value]  
    Into Sales
    From 
         ( select * from ##temp  ) product
           cross apply (
                         values ( product.ID, product.group_code, product.[Product_desciption],'10/1/2015',product.[Total Quantity 2015-10], product.[Total Amount 2015-10]  ),
                                ..
                                ..
                                ..
                                ( product.ID, product.group_code, product.[Product_desciption],'10/1/2019', product.[Total Quantity 2019-01], product.[Total Amount 2019-01]   )

                        ) product_Aggr(ID, group_code, [Product_desciption], Period, [Actual_Quantity], [Actual_Amount])

答案1

您可以使用动态 SQL:使用(“过程”)SQL 创建 SQL 字符串,然后使用执行sql执行您的查询。

相关内容