Files
GateDge2023_ljy/00.未分类/公式.sql
PastSaid 16fbd10312 1
2024-04-29 17:57:07 +08:00

29 lines
544 B
Transact-SQL

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