我有以下字符串使其符合预期。
给定字符串:
DECLARE @String VARCHAR(MAX) = '[ColumnA],[ColumnB],[ColumnC]'
/*Will be any numbers of columns*/
预期字符串:
SUM([ColumnA]) AS [ColumnA],SUM([ColumnB]) AS [ColumnA],SUM([ColumnC]) AS [ColumnA]
<标题>我的尝试:SELECT 'SUM('+ REPLACE(@String,',','),SUM(') + ')'
我只能得到:
SUM([ColumnA]),SUM([ColumnB]),SUM([ColumnC])
无法在每个求和前分配别名
标题>我使用了一个拆分函数和FOR XML
。
SELECT STUFF(
(select ', SUM('+sit.items +') AS '+sit.items
from dbo.uf_SplitIntoTableStr('[column1],[column2]',',') sit
for xml path('')
),1,1,'')