昨天问了一个遇零作出数错误的问题,大家给予了帮助,今天还是这个问题
现在的SQL语句是这么写的select sum(字段1),sum(字段2),sum(字段3),sum(字段4),cast(字段1/case when 字段2=0 THEN 1 ELSE 字段2 end as numeric(38,2))*100 as 字段5 from 表名字段5是字段1和字段2求出来的,字段1的值可能为0,字段2的值也可能为0;
现在这样的话要group by 字段1和字段2,这样数据就错误了,怎么能不聚合它俩求出字段5
现在的SQL语句是这么写的select sum(字段1),sum(字段2),sum(字段3),sum(字段4),cast(字段1/case when 字段2=0 THEN 1 ELSE 字段2 end as numeric(38,2))*100 as 字段5 from 表名字段5是字段1和字段2求出来的,字段1的值可能为0,字段2的值也可能为0;
现在这样的话要group by 字段1和字段2,这样数据就错误了,怎么能不聚合它俩求出字段5
cast( (case when 字段2=0 then 字段1 else 字段1/字段2 end) as numeric(38,2)) *100 as 字段5
from 表名
select sum(字段1),sum(字段2),sum(字段3),sum(字段4),sum(字段1)/sum(cast(case when 字段2=0 THEN 1 ELSE 字段2 end as numeric(38,2))*100) as 字段5 from 表名第五个字段没有写sum聚合函数
cast( (case when 字段2=0 then 字段1 else 字段1/字段2 end) as numeric(38,2)) *100 as 字段5
from 表名 group by 字段1,字段2