sum求和问题?

lu_hm 2001-09-15 11:52:25
现数据库中有一个表,其中有
zyh,je1,je2,je3,rq 等字段(分别为住院号,金额1,金额2,金额3,日期)
我要取在2001.09.01~2001.09.15 的费用之和.
select zyh,sum(je1)+sum(je2)+sum(je3) je
where to_char(rq,'yyyy.mm.dd')>=to_char('2001.09.01','yyyy.mm.dd')
and to_char(rq,'yyyy.mm.dd')<=to_char('2001.09.15','yyyy.mm.dd')
group by zyh

但取出的结果有问题.
有一些住院号的费用 和 单独取一个人的费用相差很大,不知何故?
...全文
79 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzqiang 2001-09-20
  • 打赏
  • 举报
回复
是否在sum字段中有数据为null
lu_hm 2001-09-15
  • 打赏
  • 举报
回复
我的意思是:用
select zyh,sum(je1)+sum(je2)+sum(je3) je
where to_char(rq,'yyyy.mm.dd')>=to_char('2001.09.01','yyyy.mm.dd')
and to_char(rq,'yyyy.mm.dd')<=to_char('2001.09.15','yyyy.mm.dd')
group by zyh
查出'20010001'住院号的总费用
和用
select zyh,sum(je1)+sum(je2)+sum(je3) je
where to_char(rq,'yyyy.mm.dd')>=to_char('2001.09.01','yyyy.mm.dd')
and to_char(rq,'yyyy.mm.dd')<=to_char('2001.09.15','yyyy.mm.dd')
and zyh='20010001'
查出的总费用
不等


first_lover 2001-09-15
  • 打赏
  • 举报
回复
按照你的sql,结果集会有15条,对吧?你所要的费用之和是每一个住院号的费用之和呢,还是总共的费用之和?
按照你的sql,返回的je应该是每一个住院号的费用之和而非全部!
而如果是取每一个住院号的费用之合,干吗还要用group by呢?而前面也不用sum(je1)+sum(je2)+sum(je3) je 了,好好分析一下吧^)^

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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