一句sql语句是否可以实现这样的效果

ljlyy 2006-08-03 01:58:01
一个表里存有下面的数据
a b
45 0
50 1
60 1
30 1
56 0
现在要计算字段a的和,但有个要求就是若b字段为0的话只计算一半,也就是计算45/2+50+60+30+56/2的值,不知一句sql语句能不能实现。
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljlyy 2006-08-03
  • 打赏
  • 举报
回复
不好意思,我自做聪明,把iif写为if,我还以为您多打了个i呢!!?
牛呀!
leohuang 2006-08-03
  • 打赏
  • 举报
回复
access
---------------------------------------------
select sum(iif(b=0,a/2,a)) as 总和 from 表名

你怎么写的?
ljlyy 2006-08-03
  • 打赏
  • 举报
回复
怎么不行呀!!数据库是access.
你也叫风语者 2006-08-03
  • 打赏
  • 举报
回复
楼上的强!
dh20156 2006-08-03
  • 打赏
  • 举报
回复
Try:
Select Sum(case b when 0 then a/2 when 1 then a end) As tc From [table]
leohuang 2006-08-03
  • 打赏
  • 举报
回复
access
---------------------------------------------
select sum(iif(b=0,a/2,a)) as 总和 from 表名

sql server
----------------------------------------------------------------
select sum(case b when 0 then a/2 else a end) as 总和 from 表名

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧