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

sql计算有关问题

2012-02-07 
sql计算问题写了一个存储过程,其中包含除法计算,但是有一个除数为0,这是因为数据录入的时候有问题是否会造

sql计算问题
写了一个存储过程,其中包含除法计算,但是有一个除数为0,这是因为数据录入的时候有问题是否会造成我查出的数据不显示
代码中Fweight 为0

SQL code
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER proc [dbo].[Pd_TB_Profit_CP](@FDateB datetime,@ssql varchar(8000))asset nocount on SET ANSI_WARNINGS OFFselect t1.FItemName,sum(t1.FQty) FQty,sum(t1.FDAmount) FDAmount,sum(isnull(t1.Fcost,0)) Fcost,sum(isnull(t2.FDDHLFee,0)*(isnull(t1.FDWeight/t2.FWeight,0))) FDDHLFee,sum(isnull(t2.FDHLFee*(t1.FDWeight/t2.FWeight),0)) FDHLFee,sum(isnull(t1.FDAmount,0)+(isnull(t2.FDDHLFee,0)*(t1.FDWeight/t2.FWeight))-(isnull(t1.Fcost,0)+(isnull(t2.FDHLFee,0)*(t1.FDWeight/t2.FWeight)))) FZprofit,sum(isnull(t1.FDAmount,0)+(isnull(t2.FDDHLFee,0)*(t1.FDWeight/t2.FWeight))-(isnull(t1.Fcost,0)+(isnull(t2.FDHLFee,0)*(t1.FDWeight/t2.FWeight))))/count(distinct t1.fid) FDprofitfrom SU_Sale_TBStockBillEntry t1 inner join SU_Sale_TBStockBill t2 on t1.fid=t2.fid where CONVERT(varchar(6),[FDate],112)=@FdateB GROUP BY t1.FItemNameunion allselect '合计', sum(t1.FQty),sum(t1.FDAmount),sum(t1.Fcost),sum(isnull(t2.FDDHLFee,0)*(isnull(t1.FDWeight/t2.FWeight,0))),sum(isnull(t2.FDHLFee*(t1.FDWeight/t2.FWeight),0)),sum(isnull(t1.FDAmount,0)+(isnull(t2.FDDHLFee,0)*(t1.FDWeight/t2.FWeight))-(isnull(t1.Fcost,0)+(isnull(t2.FDHLFee,0)*(t1.FDWeight/t2.FWeight)))),sum(isnull(t1.FDAmount,0)+(isnull(t2.FDDHLFee,0)*(t1.FDWeight/t2.FWeight))-(isnull(t1.Fcost,0)+(isnull(t2.FDHLFee,0)*(t1.FDWeight/t2.FWeight))))/count(distinct t1.fid)from SU_Sale_TBStockBillEntry t1 inner join SU_Sale_TBStockBill t2 on t1.fid=t2.fid where CONVERT(varchar(6),[FDate],112)=@FdateB 

查询结果如图
如果正确的话 在合计上面应该还有其他数据的

[解决办法]
传进去的参数查不出来数据,所以就没显示,显示一行是因为union了一行固定的数据

热点排行