大概是这样的一个操作,要从第一张表里把每个机构下的旅客数插入第二张表,但是第二张表要多计算出几个字段了,比如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

解决方案 »

  1.   

    第二个表就是要从第一张表里统计人数插进来的,但是第二张表要多计算几个字段,比如每个月比上月增加了多少客户
    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
      

  2.   

    凌乱了,这是多么不合理的一张表...
    每个月的数据,后面几个月份为空,前面几个月的要从前面copy,只有当月的才有用
    你就先统计出当月的客户数,然后根据日期的那个字段,把上个月的对应记录中把前几个月的新增客户数查询出来更新到本月的记录里,上个月记录中的客户总数和本月的客户总数差值就是本月的新增客户数
    分两步走