求一存储过程

Galen_Gao 2014-04-24 12:02:56
我有一个是原表数据内容大概如下,都是个人信息,现在想把每个机构号的对应人数插入另外一个表,并且计算出每月增加多少人数,时间是我运行的时候就插进去了
with datatable as
(
select 101 机构号,'zhangsan'客户名字 from dual union all
select 101 机构号,'lisi'客户名字 from dual union all
select 102 机构号,'wangwu'客户名字 from dual union all
select 101 机构号,'maer'客户名字 from dual union all
select 101 机构号,'xiaoming'客户名字 from dual
)

然后我要把这么一个表的信息统计插入另外一个表,每次运行时间都把时间插入,插入每月的最后一天
插入表的字段为:
date_key 日期key(存月底最后一天)
org_no 机构code
cust_num 客户数
newcust_num_1 1月新增客户数
newcust_num_2 2月新增客户数
newcust_num_3 3月新增客户数
newcust_num_4 4月新增客户数
newcust_num_5 5月新增客户数
newcust_num_6 6月新增客户数
newcust_num_7 7月新增客户数
newcust_num_8 8月新增客户数
newcust_num_9 9月新增客户数
newcust_num_10 10月新增客户数
newcust_num_11 11月新增客户数
newcust_num_12 12月新增客户数
newcust_num_year 年内新增客户数

求写一个存储过程,主要是要计算1,2,3,4等每月新增的客户数,好像要关联本表,不会弄
(注意 cust_num 客户数,因为那个表随时在插入,所以每次运行时都是统计当前总人数,比如1月运行时50人,2月插入了10人,这时就是60人,他包括前面的,是个总数)
...全文
151 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼W 2014-04-24
  • 打赏
  • 举报
回复
凌乱了,这是多么不合理的一张表... 每个月的数据,后面几个月份为空,前面几个月的要从前面copy,只有当月的才有用 你就先统计出当月的客户数,然后根据日期的那个字段,把上个月的对应记录中把前几个月的新增客户数查询出来更新到本月的记录里,上个月记录中的客户总数和本月的客户总数差值就是本月的新增客户数 分两步走
Galen_Gao 2014-04-24
  • 打赏
  • 举报
回复
引用 1 楼 wildwave 的回复:
描述不够清楚,看着有点累 看这字段一年就一条记录?没明白是要什么效果
第二个表就是要从第一张表里统计人数插进来的,但是第二张表要多计算几个字段,比如每个月比上月增加了多少客户
insert into nowtable(
date_key  日期key(存月底最后一天)          
org_no  机构code               
 cust_num  客户数                 
newcust_num_1, -- 1月新增客户数          
newcust_num_2,  --2月新增客户数          
newcust_num_3,  --3月新增客户数          
newcust_num_4,  --4月新增客户数          
newcust_num_5 ,--5月新增客户数          
newcust_num_6,-- 6月新增客户数          
newcust_num_7,-- 7月新增客户数          
newcust_num_8 ,--8月新增客户数          
newcust_num_9 ,--9月新增客户数          
newcust_num_10,-- 10月新增客户数         
newcust_num_11 ,--11月新增客户数         
newcust_num_12 ,--12月新增客户数         
newcust_num_year --年内新增客户数  
)
select
to_date(20140331,'yyyymmdd'),
机构号,
count(*),
'', -- 1月新增客户数          
'',  --2月新增客户数          
'',  --3月新增客户数          
'',  --4月新增客户数          
'' ,--5月新增客户数          
'',-- 6月新增客户数          
'',-- 7月新增客户数          
'' ,--8月新增客户数          
'' ,--9月新增客户数          
'',-- 10月新增客户数         
'' ,--11月新增客户数         
'' ,--12月新增客户数         
'' --年内新增客户数  
from datatable
Galen_Gao 2014-04-24
  • 打赏
  • 举报
回复
引用 楼主 gaohuirong08 的回复:
我有一个是原表数据内容大概如下,都是个人信息,现在想把每个机构号的对应人数插入另外一个表,并且计算出每月增加多少人数,时间是我运行的时候就插进去了 with datatable as ( select 101 机构号,'zhangsan'客户名字 from dual union all select 101 机构号,'lisi'客户名字 from dual union all select 102 机构号,'wangwu'客户名字 from dual union all select 101 机构号,'maer'客户名字 from dual union all select 101 机构号,'xiaoming'客户名字 from dual ) 然后我要把这么一个表的信息统计插入另外一个表,每次运行时间都把时间插入,插入每月的最后一天 插入表的字段为: date_key 日期key(存月底最后一天) org_no 机构code cust_num 客户数 newcust_num_1 1月新增客户数 newcust_num_2 2月新增客户数 newcust_num_3 3月新增客户数 newcust_num_4 4月新增客户数 newcust_num_5 5月新增客户数 newcust_num_6 6月新增客户数 newcust_num_7 7月新增客户数 newcust_num_8 8月新增客户数 newcust_num_9 9月新增客户数 newcust_num_10 10月新增客户数 newcust_num_11 11月新增客户数 newcust_num_12 12月新增客户数 newcust_num_year 年内新增客户数 求写一个存储过程,主要是要计算1,2,3,4等每月新增的客户数,好像要关联本表,不会弄 (注意 cust_num 客户数,因为那个表随时在插入,所以每次运行时都是统计当前总人数,比如1月运行时50人,2月插入了10人,这时就是60人,他包括前面的,是个总数)
大概是这样的一个操作,要从第一张表里把每个机构下的旅客数插入第二张表,但是第二张表要多计算出几个字段了,比如1月份增加了多少,2月份又比上月增加了多少,依次。我大概写了哈过程,不会计算的字段我空着的,音乐只有用我插入的表再来才能进行计算。 insert into nowtable( date_key 日期key(存月底最后一天) org_no 机构code cust_num 客户数 newcust_num_1, -- 1月新增客户数 newcust_num_2, --2月新增客户数 newcust_num_3, --3月新增客户数 newcust_num_4, --4月新增客户数 newcust_num_5 ,--5月新增客户数 newcust_num_6,-- 6月新增客户数 newcust_num_7,-- 7月新增客户数 newcust_num_8 ,--8月新增客户数 newcust_num_9 ,--9月新增客户数 newcust_num_10,-- 10月新增客户数 newcust_num_11 ,--11月新增客户数 newcust_num_12 ,--12月新增客户数 newcust_num_year --年内新增客户数 ) select to_date(20140331,'yyyymmdd'), 机构号, count(*), '', -- 1月新增客户数 '', --2月新增客户数 '', --3月新增客户数 '', --4月新增客户数 '' ,--5月新增客户数 '',-- 6月新增客户数 '',-- 7月新增客户数 '' ,--8月新增客户数 '' ,--9月新增客户数 '',-- 10月新增客户数 '' ,--11月新增客户数 '' ,--12月新增客户数 '' --年内新增客户数 from datatable 要达到格式是这样的 date_key 机构号 客户数 一月新增 二月新增 3月新增 4月新增 20140131 101 100 100 0 0 0 20140228 101 120 100 20 0 0 20140331 101 150 100 20 30
rabitsky 2014-04-24
  • 打赏
  • 举报
回复
根据你描述,怎么感觉这样的表设计没多少实际意义呢
garfieldzf 2014-04-24
  • 打赏
  • 举报
回复
第二段的描述信息没看明白,是否跟第一段的描述有联系?
小灰狼W 2014-04-24
  • 打赏
  • 举报
回复
描述不够清楚,看着有点累 看这字段一年就一条记录?没明白是要什么效果

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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