首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

参数与公式的有关问题

2012-05-08 
参数与公式的问题SQL codedeclare @SMM_Pb1numeric(15,2) declare @SMM_Pb2numeric(15,2) select @SMM_Pb1

参数与公式的问题

SQL code
declare @SMM_Pb1  numeric(15,2) declare @SMM_Pb2  numeric(15,2) select @SMM_Pb1=15575select @SMM_Pb2=22select FArea,FName,@SMM_Pb1,FWebPrice from IB_PRICEFORMULA=>结果        (我把变量做为公式写到记录了FWebPrice字段的值为@SMM_Pb1,因为@SMM_Pb1是从别的表获取的,还有什么方法设置这样的公式,FWebPrice字段的值也可能设置为@SMM_Pb2) FArea  FName    @SMM_Pb1        FWebPrice 地区A    A    15575.00    @SMM_Pb1=>想得到的结果FArea  FName    @SMM_Pb1        FWebPrice 地区A    A    15575.00    15575.001.如上想得知正确的结果, 怎么写?2.假如有列FWebPriceA,FWebPriceB,FWebPriceC,FWebPriceA的公式是FWebPrice*3 FWebPriceB的公式是FWebPriceA/2FWebPriceC的公式是FWebPriceB+10该怎么写SQL?declare @SMM_Pb1  numeric(15,2) declare @SMM_Pb2  numeric(15,2) select @SMM_Pb1=15575select @SMM_Pb2=22select FArea,FName,@SMM_Pb1,FWebPrice from IB_PRICEFORMULA=>结果        (我把变量做为公式写到记录了FWebPrice字段的值为@SMM_Pb1,因为@SMM_Pb1是从别的表获取的,还有什么方法设置这样的公式,FWebPrice字段的值也可能设置为@SMM_Pb2) FArea  FName    @SMM_Pb1        FWebPrice 地区A    A    15575.00    @SMM_Pb1=>想得到的结果FArea  FName    @SMM_Pb1        FWebPrice 地区A    A    15575.00    15575.001.如上想得知正确的结果, 怎么写?2.假如有列FWebPriceA,FWebPriceB,FWebPriceC,FWebPriceA的公式是FWebPrice*3 FWebPriceB的公式是FWebPriceA/2FWebPriceC的公式是FWebPriceB+10该怎么写SQL? 不要一直镶套的方式,因为列很多


[解决办法]
SQL code
create table #tb(FName varchar(10) , FWebPrice varchar(10))insert into #tb values('地区A','@SMM_Pb1')insert into #tb values('地区B','@SMM_Pb2')declare @sql varchar(8000)declare @SMM_Pb1  numeric(15,2) declare @SMM_Pb2  numeric(15,2) select @SMM_Pb1=11select @SMM_Pb2=22set @sql='' select @sql=@sql+' when FWebPrice='             +quotename(FWebPrice,'''')+' then '+FWebPrice from #tbset  @sql='select FName,case '+@sql+' end as FWebPrice from #tb'print @sqlexec('declare @SMM_Pb1  numeric(15,2) declare @SMM_Pb2  numeric(15,2) select @SMM_Pb1=11select @SMM_Pb2=22 '+@sql)   /* FName    FWebPrice地区A    11.00地区B    22.00 */动态 

热点排行
Bad Request.