销售汇总问题,能不能不用游标实现!

lindqp 2002-08-24 11:54:52
将销售表的中数据统计放入销售汇总表中,可以直接使用
insert into (...) values (??)
实现吗?


...全文
34 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lindqp 2002-08-25
  • 打赏
  • 举报
回复
sql的问题是解决了
只是统计还是有些问题
给分
lindqp 2002-08-24
  • 打赏
  • 举报
回复
insert into chcpckhzb(kjn,kjy,ckbm,ckdh,khbm,cpbm,cksl)
select a.dzkjn,a.dzkjy,a.ckbm,a.ckdbh,a.ckdwbm,b.wlbm,sum(b.sl)
from ckcpckd a,ckcpckdmxb b
where a.ckdbh=b.ckdbh and
a.dzkjn=i_year and
a.dzkjy=i_month and
b.yjssl=0
group by (a.ckbm,a.ckdbh,a.ckdbh,b.wlbm);

那位大哥帮我检查一下有什么语法错误。
xmwgp 2002-08-24
  • 打赏
  • 举报
回复
可以用
insert into table(...) select ... sum(.) ... 实现吧

看你具体要求,说详细点。
bzszp 2002-08-24
  • 打赏
  • 举报
回复
可以
insert into tbname(colname1,colname2...) select col1,col2... from tbname2 where....;
digime 2002-08-24
  • 打赏
  • 举报
回复
提个建议在做统计报表的时候
最好对统计数据进行一定的处理比如统计为空的话可以设置为0
nvl(sum(sl),0)
统计使用的函数有count, sum, max, min, agv
denglt 2002-08-24
  • 打赏
  • 举报
回复
zcs_1的写法是对的。
zcs_1 2002-08-24
  • 打赏
  • 举报
回复
同意CHENGXB(大山),这样写试试:

insert into chcpckhzb(kjn,kjy,ckbm,ckdh,khbm,cpbm,cksl)
select a.dzkjn,a.dzkjy,a.ckbm,a.ckdbh,a.ckdwbm,b.wlbm,sum(b.sl)
from ckcpckd a,ckcpckdmxb b
where a.ckdbh=b.ckdbh and
a.dzkjn=i_year and
a.dzkjy=i_month and
b.yjssl=0
group by a.dzkjn,a.dzkjy,a.ckbm,a.ckdbh,a.ckdwbm,b.wlbm;
CHENGXB 2002-08-24
  • 打赏
  • 举报
回复
如果使用GROUP BY 则SELECT 后的字段必须要在GROUP BY 后出现,或者写出聚合函数的形式 :SUM,MAX,AVG,等等。

insert into chcpckhzb(kjn,kjy,ckbm,ckdh,khbm,cpbm,cksl)
select a.dzkjn,a.dzkjy,a.ckbm,a.ckdbh,a.ckdwbm,b.wlbm,
~~~~~~~~~~ ~~~~~
这三个字段不是分组项,也不是聚合函数的形式!
sum(b.sl)
from ckcpckd a,ckcpckdmxb b
where a.ckdbh=b.ckdbh and
a.dzkjn=i_year and
a.dzkjy=i_month and
b.yjssl=0
group by (a.ckbm,a.ckdbh,a.ckdbh,b.wlbm);
~~~~~~~~~
相同?


17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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