select t.id.vendor,t.id.plant,t.id.rbdate, case when sum(t.amount) = 0 then (sum(t.returnamount)/sum(t.amount))*1000000 else 0 end, sum(t.returnamount),sum(t.amount) from Srm063 t
可以简单点用decode判断 select t.id.vendor, t.id.plant, t.id.rbdate, (DECODE( sum(t.amount),0,0,sum(t.returnamount) / sum(t.amount))) * 1000000, sum(t.returnamount), sum(t.amount) from Srm063 t
StringBuffer sql=new StringBuffer("select t.id.vendor, t.id.plant,t.id.rbdate, case when sum(t.amount) = 0 then 0 else (sum(t.returnamount)/sum(t.amount)*1000000) end ,sum(t.returnamount) ,sum(t.amount)");
(sum(t.returnamount)/sum(t.amount)) *1000000
case when sum(t.amount) = 0 then
(sum(t.returnamount)/sum(t.amount))*1000000 else 0 end,
sum(t.returnamount),sum(t.amount)
from Srm063 t
select t.id.vendor,
t.id.plant,
t.id.rbdate,
(DECODE( sum(t.amount),0,0,sum(t.returnamount) / sum(t.amount))) * 1000000,
sum(t.returnamount),
sum(t.amount)
from Srm063 t