sybase的case函数能在条件里求和吗

[复制链接]
查看11 | 回复1 | 2010-7-2 17:11:02 | 显示全部楼层 |阅读模式
如下语句能实现吗:
select
name,
(case when sum(counter1)=0 then 100 else sum(counter2)/sum(counter)1 end) as e1
from table1
group by name
即,判断分母为0,则返回100,否则返回表达式得到的值
在不用合计的时候可以实现,但是用上合计就不行了,请大家帮忙看看,是否语句有错,或者有没有类似的函数可以实现,谢了!
更正:
select
name,
(case when sum(counter1)=0 then 100 else sum(counter2)/sum(counter1) end) as e1
from table1
group by name

回复

使用道具 举报

千问 | 2010-7-2 17:11:02 | 显示全部楼层
可用子查询来实现select name,case when c1 = 0 then 100 else c2/c1 end as e1from(select name,sum(counter1) c1,sum(counter2) c2from table group by name) t1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行