有一个表A里有几列如 ---公司一公司号-- 缴费月份(jfyf)-缴费金额(jfje)-
      表B里有几列如----公司(比A表多)公司号(去表A公司号一样)--一月缴费--二月缴费--三月缴费 ···十二月缴费我想把表A里的数据的(缴费金额)一列 根据表A里相应的(缴费日期)copy 到 表B里的十二个 (缴费) 列 里
例如 A表里 id  公司名 缴费月份 缴费金额 公司号  表B 公司名 公司号 一月缴费  二月缴费····
           01  'aaa'  01       1000     1001        'aaa'  1001     
           02  'aaa'  02       1000     1001
           03  'bbb'  02       1000     1002
           04  'bbb'  08       1000     1002
           05  'ccc'  08       1000     1003
Oracle 里有没有 什么办法实现 把 表A里的金额 根据月份的不同自动 复制到 表B里

解决方案 »

  1.   

    功能是自己写出来的,oracle不会帮你做这事
      

  2.   


    有一个表A里有几列如 ---公司一公司号-- 缴费月份(jfyf)-缴费金额(jfje)-
      表B里有几列如----公司(比A表多)公司号(去表A公司号一样)--一月缴费--二月缴费--三月缴费 ···十二月缴费我想把表A里的数据的(缴费金额)一列 根据表A里相应的(缴费日期)copy 到 表B里的十二个 (缴费) 列 里
    例如 A表里 id 公司名 缴费月份 缴费金额 公司号 表B 公司名 公司号 一月缴费 二月缴费····
      01 'aaa' 01 1000 1001 'aaa' 1001   
      02 'aaa' 02 1000 1001
      03 'bbb' 02 1000 1002
      04 'bbb' 08 1000 1002
      05 'ccc' 08 1000 1003
    Oracle 里有没有 什么办法实现 把 表A里的金额 根据月份的不同自动 复制到 表B里create table a(id varchar2(50),gsh varchar2(20),gsm varchar2(50),jhyf varchar2(10),jhje number);
    insert into a values ('01','1001','aaa','01',5454);
    insert into a values ('02','1001','aaa','03',342);
    insert into a values ('03','1001','aaa','04',3232);
    insert into a values ('04','1002','bbb','01',456);
    insert into a values ('05','1002','bbb','05',232);
    insert into a values ('06','1003','ccc','06',234);
    insert into a values ('07','1003','ccc','04',655);
    insert into a values ('08','1003','ccc','11',443);
    insert into a values ('09','1004','ddd','07',556);
    commit;
    --把select出来的结果插入到你B表就行了GSH 
    select gsh,
           sum(decode(jhyf, '01', jhje,0)) 一月缴费,
           sum(decode(jhyf, '02', jhje,0)) 二月缴费,
           sum(decode(jhyf, '03', jhje,0)) 三月缴费,
           sum(decode(jhyf, '04', jhje,0)) 四月缴费,
           sum(decode(jhyf, '05', jhje,0)) 五月缴费,
           sum(decode(jhyf, '06', jhje,0)) 六月缴费,
           sum(decode(jhyf, '07', jhje,0)) 七月缴费,
           sum(decode(jhyf, '08', jhje,0)) 八月缴费,
           sum(decode(jhyf, '09', jhje,0)) 九月缴费,
           sum(decode(jhyf, '10', jhje,0)) 十月缴费,
           sum(decode(jhyf, '11', jhje,0)) 十一月缴费,
           sum(decode(jhyf, '12', jhje,0)) 十二月缴费
      from a
     group by gshGSH                        一月缴费       二月缴费       三月缴费       四月缴费       五月缴费       六月缴费       七月缴费       八月缴费       九月缴费       十月缴费      十一月缴费      十二月缴费
    -------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
    1001                       5454          0        342       3232          0          0          0          0          0          0          0          0
    1002                        456          0          0          0        232          0          0          0          0          0          0          0
    1003                          0          0          0        655          0        234          0          0          0          0        443          0
    1004                          0          0          0          0          0          0        556          0          0          0          0          0
     
    ---