sql计算有关问题
sql计算问题
写了一个存储过程,其中包含除法计算,但是有一个除数为0,这是因为数据录入的时候有问题是否会造成我查出的数据不显示
代码中Fweight 为0
查询结果如图
如果正确的话 在合计上面应该还有其他数据的
------解决方案--------------------
传进去的参数查不出来数据,所以就没显示,显示一行是因为union了一行固定的数据
写了一个存储过程,其中包含除法计算,但是有一个除数为0,这是因为数据录入的时候有问题是否会造成我查出的数据不显示
代码中Fweight 为0
- SQL code
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER proc [dbo].[Pd_TB_Profit_CP] (@FDateB datetime,@ssql varchar(8000)) as set nocount on SET ANSI_WARNINGS OFF select 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) FDprofit from 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.FItemName union all select '合计', 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了一行固定的数据