这是我需要找到的,
对动态生成的系统列中存在的所有值求和。
我发现了如何使用以下查询生成动态生成的列。
declare @columnnames nvarchar(max) = 'select COLUMN_NAME FROM [Powerbireports].INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = ''FCL_Pivot'' and column_name like ''%Charges'''
它显示以费用结尾的列。
我有 30 多列费用。我的数据如下所示。
通过使用这些列,我需要对 30 列中存在的所有值求和(使用上面的查询)并更新到另一个名为处理的列。
我尝试使用以下查询。
declare @dynamicsql nvarchar(max) = N'Update [dbo].[FCL_Pivot] set Handling = (select SUM('+@columnnames+'))'
exec sp_executesql @dynamicsql
它在“选择”附近显示不正确的语法。
请帮助我如何克服这个查询或任何替代方法。