• 全部
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流
  • 问答

求SQL:如何压缩某列是0值的记录

chido 2003-07-28 10:06:32
该列是个SUM计算列,还有其他计算列,其他计算列不是0值,该列是0值,如何压缩掉这样的记录?

id sum(a) sum(b)
--------------
1 0 5
2 0 6
3 2 8
4 1 7
例如上面的第1,2列
...全文
7 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tsj68 2003-07-28
select id,sum(a),sum(b) from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM') group by id having sum(a)<>0 and sum(b)<>0;
回复
chido 2003-07-28
a1 和b1 不是数据库的列可以放在条件语句里么?我也想这样加来着,但是在PL/SQL Developer中报告是无效列名啊。
回复
qiyousyc 2003-07-28
select sum(a) a1,sum(b) b1 from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM') and (a1<>0 or b1<>0)
回复
chido 2003-07-28
delete table?
没很明白。我的SQL大概是这样的
select sum(a),sum(b) from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM')

目的就是作一个报表,a是一周的数据,b是从年出就开始汇总出来的数据,但是有可能一周里a是0,但是从年初开始数据就不是0了,这样的数据不需要,如何不显示这些数据?
回复
delete table where a = 0
回复
chido 2003-07-28
有人作过没有,虽然我不会,但是对各位来说,应该不是很难吧,我可以加分
回复
chido 2003-07-28
有人作过没有,虽然我不会,但是对各位来说,应该不是很难吧,我可以加分
回复
pegtop 2003-07-28
取值时将id也取出来,
select id,sum(a),sum(b) from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM')
group by id having sum(a)>0;
回复
pegtop 2003-07-28
beckhambobo(beckham) 那样是正确的!
回复
beckhambobo 2003-07-28
只要判断sum(a)是否为零:
select sum(a),sum(b) from tab where tab.date >= to_date('2003-01-01','YYYY-DD-MM')
group by id having sum(a)>0;
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2003-07-28 10:06
社区公告
暂无公告