У меня есть имя столбца с датами, которое берется из таблицы и изменяется с текущего месяца на последний 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])
Вы можете использовать динамический SQL: создайте строку SQL с ("процедурным") SQL, а затем используйте sp_executesql для выполнения вашего запроса.