我有以下字符串可以按预期进行。
给定字符串:
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])
坚持分配每个总和前面的别名。
答案 0 :(得分:1)
我使用了split functions和FOR XML
中的一个。
SELECT STUFF(
(select ', SUM('+sit.items +') AS '+sit.items
from dbo.uf_SplitIntoTableStr('[column1],[column2]',',') sit
for xml path('')
),1,1,'')