要做报表,看着需求硬是写不好,请大家帮忙看看,需求如下:业务汇总统计,统计出各民警的业务量(注:超时比例(总)=超时业务/业务总量*100、退回比例=(列L+列M)/(列L+列M+列k))如下:Oracle报表SQL存储过程

解决方案 »

  1.   

    直接给出建表语句吧。然后简单说明下 每个列的意思。你这画个图又没说全,比如业务量中的已完成和在办 是哪个列,怎么区分?还有超时业务哪个列等等等等。
    目测你这个报表  很easy
      

  2.   

    业务表:create table W_APPLY
    (
      wsa_id                       NUMBER(10) not null,--主键
      createuser                   NUMBER(18) not null,
      createtime                   DATE default sysdate not null,--创建时间
      swiftnumber                  NVARCHAR2(200),
      isworkflowend                NUMBER(1) not null,--业务是否完结
      ispass                       NUMBER(1) default -1,--业务审批情况:-1表示在办,0表示已成功完成,1表示不成功,2表示退回
      version                      NUMBER(5),--提交次数,与ispass=2同时用表示退回次数
      node                         NVARCHAR2(200),--流程节点
      audit_time                   DATE --审批时间
    );
    业务审批表:
    create table W_AUDIT
    (
      id         NUMBER(18) not null,--主键
      aid        NUMBER(18) not null,--管理员账号表主键
      wsa_id     NUMBER(10),--业务表主键
      createtime DATE not null
    );
    管理员账号表
    create table ACCOUNT
    (
      aid              NUMBER(10) not null,--主键
      realname         NVARCHAR2(100)--真实姓名
    );
      

  3.   

    之前一直想用一条sql语句搞定,后来发现我现在搞不定,于是用存储过程做,分成多条语句,就行了。