SELECT *
INTO #T1
FROM (
	SELECT 1 ID,'A+B' 公式
	union ALL
	SELECT 2 ID,'A+B+C' 公式
) tt
declare @tttt varchar(MAX),@ttt varchar(MAX)
SELECT @tttt = ISNULL(STUFF((select ' WHEN '+ CONVERT(nvarchar(100), tt.ID) + 'THEN '+ tt.公式 from #T1 tt  for xml path('')),1,1,''),'')
SET @ttt = N'
SELECT tt.A,CASE tt.ID '+@tttt+' ELSE 0 END
FROM(
	SELECT 1 A,2 B,3 C,1 ID
	union ALL
	SELECT 2 A,3 B,3 C,2 ID
	union ALL
	SELECT 1 A,3 B,3 C,1 ID
	union ALL
	SELECT 1 A,1 B,3 C,1 ID
) tt
'
--SELECT @ttt
exec(@ttt)

DROP TABLE #T1
--DROP TABLE #T2


