我有一个列名,其中的日期来自一个表,并且从当前月份变为过去 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执行您的查询。