SQL Server2000 公式字段的计算

本文介绍如何在SQLServer2000中使用动态SQL创建临时表,并通过案例展示如何根据不同的变量计算相应的汇总值。此方法适用于需要进行复杂汇总计算的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CREATE TABLE [base] (
 [V_Var] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [V_value] [float] NULL 
) ON [PRIMARY]
GO

 


CREATE TABLE [gs] (
 [V_Label] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [T_gs] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO


------------------------------------------------------------------------------------------------------------------

declare @s varchar(8000)
set @s = ''

select @s = @s+',['+V_Var+']=sum(case V_Var when '''+ V_Var +''' then V_value end)' from base

set @s = stuff(@s,1,1,'')
exec('select '+ @s + ' into ##t from base')
set @s = ''
select @s = @s + ' union all select gs='''+rtrim(V_Label)+''',bds='''+ rtrim(T_gs) +''',jg='+T_gs+' from ##t' from gs
set @s = stuff(@s,1,10,'')
print @s
exec(@s)

Drop Table ##t

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值