请教:sum计算两个表字段和的问题

廖雪峰 2005-07-07 03:50:42
我有两个表A,B,都有整型字段i,请问如何用一条select语句计算出两者的和?


select sum(A.i)+sum(B.i) from A, B where id=100

发现,如果A表或B表没有满足id=100的条件的记录时,返回值为null,我想返回0请问应如何写?

谢谢!
...全文
287 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengzulin 2005-07-07
  • 打赏
  • 举报
回复
用iif函数代替
廖雪峰 2005-07-07
  • 打赏
  • 举报
回复
现在用的这个hsqldb数据库不支持isnull函数,有没有变通的方法?
辉说慧语 2005-07-07
  • 打赏
  • 举报
回复
mark
winternet 2005-07-07
  • 打赏
  • 举报
回复
select sum(isnull(A.i,0))+sum(isnull(B.i,0)) from A, B where id=100
paoluo 2005-07-07
  • 打赏
  • 举报
回复
用Case ...When 也可以,只是麻烦很多
Select (Case When sum(A.i) Is Null Then 0 Else sum(A.i) End)+(Case When sum(B.i) Is Null Then 0 Else sum(B.i) End) from A, B Where id=100

所以还是建议用IsNull

Select Isnull(sum(A.i),0)+Isnull(sum(B.i),0) from A, B Where id=100
winternet 2005-07-07
  • 打赏
  • 举报
回复
select isnull(sum(A.i),0)+isnull(sum(B.i),0) from A, B where id=100
廖雪峰 2005-07-07
  • 打赏
  • 举报
回复
isnull好像是mssql专有的,有没有标准的方案?
梅青松 2005-07-07
  • 打赏
  • 举报
回复
select ISNULL(sum(A.i)+sum(B.i),0) from A, B where id=100

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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