-------------------------------------------------------
------------开始求电压等级为35V的数据-----------------
---------------------------------------------------------------------紧急缺陷--------------
      --发现
  select count(*) 
         into Emergy_Find   
         FROM Send_BUG_REC A,
              LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='35'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
               AND trim(Bug_Nature)='紧急缺陷' ;    --缺陷性质
                     --处理
  select count(*) 
         into Emergy_Handle   
         FROM Send_BUG_REC A,
              LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='35'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
               AND trim(A.Bug_Nature)='紧急缺陷'     --缺陷性质
               and trim(A.DEAL)='0' ;   --已处理--------------重大缺陷--------------               
    --上月遗留
  select count(*) 
         into LargeBug_LastMonthRest   
         FROM Send_BUG_REC A,
              LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='35'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtLastMonthBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtLastMonthEnd 
               AND trim(A.Bug_Nature)='重大缺陷'     --缺陷性质
               and trim(A.DEAL)='1' ;   --未处理  
               
     --本月发现
  select count(*) 
         into LargeBug_ThisMonthFind   
         FROM Send_BUG_REC A,
              LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='35'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
               AND trim(A.Bug_Nature)='重大缺陷'  ;   --缺陷性质
              
     --本月处理
  select count(*) 
         into LargeBug_ThisMonthHandle   
         FROM Send_BUG_REC A,
              LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='35'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
               AND trim(A.Bug_Nature)='重大缺陷'     --缺陷性质
               and trim(A.DEAL)='0' ;   --已处理      
               
     --现有
  select  LargeBug_ThisMonthFind -   LargeBug_ThisMonthHandle
          into   LargeBug_NowRest
          from dual ;      
          
          
--------------一般缺陷--------------               
    --上月遗留
  select count(*) 
         into CommonBug_LastMonthRest   
         FROM Send_BUG_REC A,
              LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='35'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtLastMonthBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtLastMonthEnd 
               AND trim(A.Bug_Nature)='一般缺陷'     --缺陷性质
               and trim(A.DEAL)='1' ;   --未处理  
               
     --本月发现
  select count(*) 
         into CommonBug_ThisMonthFind   
         FROM Send_BUG_REC A,
              LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='35'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
               AND trim(A.Bug_Nature)='一般缺陷'  ;   --缺陷性质
              
     --本月处理
  select count(*) 
         into CommonBug_ThisMonthHandle   
         FROM Send_BUG_REC A,
              LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='35'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
               AND trim(A.Bug_Nature)='一般缺陷'     --缺陷性质
               and trim(A.DEAL)='0' ;   --已处理      
               
     --现有
  select  CommonBug_ThisMonthFind -   CommonBug_ThisMonthHandle
          into   CommonBug_NowRest
          from dual ;         
               
  INSERT INTO WHREP_LINEEQUIPBUG_TMPTbL_BUG values(
              '35kv'
              ,Emergy_Find
              ,Emergy_Handle
              ,LargeBug_LastMonthRest
              ,LargeBug_ThisMonthFind
              ,LargeBug_ThisMonthHandle
              ,LargeBug_NowRest
              ,CommonBug_LastMonthRest
              ,CommonBug_ThisMonthFind
              ,CommonBug_ThisMonthHandle
              ,CommonBug_NowRest                         ) ;
-------------------------------------------------------
------------结束求电压等级为35V的数据-----------------
------------------------------------------------------- 
-------------------------------------------------------
------------开始求电压等级为6-10kv的数据-----------------
---------------------------------------------------------------------紧急缺陷--------------
      --发现
  select count(*) 
         into Emergy_Find   
         FROM Mate_BUG_REC A,
              Mate_LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.MATE_LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='110'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
               AND trim(Bug_Nature)='紧急缺陷' ;    --缺陷性质
                     --处理
  select count(*) 
         into Emergy_Handle   
         FROM Mate_BUG_REC A,
              MATE_LINE B 
         WHERE TRIM(A.Line_Name) = TRIM(B.MATE_LINE_CODE)
               AND TRIM(B.LINE_VOL_LEVEL)='110'   --电压等级
               AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
               AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
               AND trim(A.Bug_Nature)='紧急缺陷'     --缺陷性质
               and trim(A.DEAL)='0' ;   --已处理

解决方案 »

  1.   

    --------------重大缺陷--------------               
        --上月遗留
      select count(*) 
             into LargeBug_LastMonthRest   
             FROM Mate_BUG_REC A,
                  MATE_LINE B 
             WHERE TRIM(A.Line_Name) = TRIM(B.MATE_LINE_CODE)
                   AND TRIM(B.LINE_VOL_LEVEL)='110'   --电压等级
                   AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtLastMonthBegin 
                   AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtLastMonthEnd 
                   AND trim(A.Bug_Nature)='重大缺陷'     --缺陷性质
                   and trim(A.DEAL)='1' ;   --未处理  
                   
         --本月发现
      select count(*) 
             into LargeBug_ThisMonthFind   
             FROM Mate_BUG_REC A,
                  MATE_LINE B 
             WHERE TRIM(A.Line_Name) = TRIM(B.MATE_LINE_CODE)
                   AND TRIM(B.LINE_VOL_LEVEL)='110'   --电压等级
                   AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
                   AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
                   AND trim(A.Bug_Nature)='重大缺陷'  ;   --缺陷性质
                  
         --本月处理
      select count(*) 
             into LargeBug_ThisMonthHandle   
             FROM Mate_BUG_REC A,
                  MATE_LINE B 
             WHERE TRIM(A.Line_Name) = TRIM(B.MATE_LINE_CODE)
                   AND TRIM(B.LINE_VOL_LEVEL)='110'   --电压等级
                   AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
                   AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
                   AND trim(A.Bug_Nature)='重大缺陷'     --缺陷性质
                   and trim(A.DEAL)='0' ;   --已处理      
                   
         --现有
      select  LargeBug_ThisMonthFind -   LargeBug_ThisMonthHandle
              into   LargeBug_NowRest
              from dual ;      
              
              
    --------------一般缺陷--------------               
        --上月遗留
      select count(*) 
             into CommonBug_LastMonthRest   
             FROM Mate_BUG_REC A,
                  MATE_LINE B 
             WHERE TRIM(A.Line_Name) = TRIM(B.MATE_LINE_CODE)
                   AND TRIM(B.LINE_VOL_LEVEL)='110'   --电压等级
                   AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtLastMonthBegin 
                   AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtLastMonthEnd 
                   AND trim(A.Bug_Nature)='一般缺陷'     --缺陷性质
                   and trim(A.DEAL)='1' ;   --未处理  
                   
         --本月发现
      select count(*) 
             into CommonBug_ThisMonthFind   
             FROM Mate_BUG_REC A,
                  MATE_LINE B 
             WHERE TRIM(A.Line_Name) = TRIM(B.MATE_LINE_CODE)
                   AND TRIM(B.LINE_VOL_LEVEL)='110'   --电压等级
                   AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
                   AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
                   AND trim(A.Bug_Nature)='一般缺陷'  ;   --缺陷性质
                  
         --本月处理
      select count(*) 
             into CommonBug_ThisMonthHandle   
             FROM Mate_BUG_REC A,
                  MATE_LINE B 
             WHERE TRIM(A.Line_Name) = TRIM(B.MATE_LINE_CODE)
                   AND TRIM(B.LINE_VOL_LEVEL)='110'   --电压等级
                   AND TO_DATE(TRIM(BUG_FIND_DATE),'YYYY-MM-DD') >= dtBegin 
                   AND TO_DATE(TRIM(BUG_FIND_DATE ),'YYYY-MM-DD')<= dtEnd 
                   AND trim(A.Bug_Nature)='一般缺陷'     --缺陷性质
                   and trim(A.DEAL)='0' ;   --已处理      
                   
         --现有
      select  CommonBug_ThisMonthFind -   CommonBug_ThisMonthHandle
              into   CommonBug_NowRest
              from dual ;         
                   
      INSERT INTO WHREP_LINEEQUIPBUG_TMPTbL_BUG values(
                  '6-10kv'
                  ,Emergy_Find
                  ,Emergy_Handle
                  ,LargeBug_LastMonthRest
                  ,LargeBug_ThisMonthFind
                  ,LargeBug_ThisMonthHandle
                  ,LargeBug_NowRest
                  ,CommonBug_LastMonthRest
                  ,CommonBug_ThisMonthFind
                  ,CommonBug_ThisMonthHandle
                  ,CommonBug_NowRest                         ) ;
    -------------------------------------------------------
    ------------结束求电压等级为6-10kV的数据-----------------
    -------------------------------------------------------     -------------------------------------------------------
    ------------开始求合计的数据--------------------------
    ------------------------------------------------------- 
      
      select SUM(紧急发现)
             into Emergy_Find
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  select SUM(紧急处理)
             into Emergy_Handle
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  select SUM(重大遗留)
             into LargeBug_LastMonthRest
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  select SUM(重大发现)
             into LargeBug_ThisMonthFind
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  select SUM(重大处理)
             into LargeBug_ThisMonthHandle
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  select SUM(重大现有)
             into LargeBug_NowRest
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  select SUM(一般遗留)
             into CommonBug_LastMonthRest
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  select SUM(一般发现)
             into CommonBug_ThisMonthFind
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  select SUM(一般处理)
             into CommonBug_ThisMonthHandle
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  select SUM(一般现有)
             into CommonBug_NowRest
             from WHREP_LINEEQUIPBUG_TMPTbL_BUG ;  INSERT INTO WHREP_LINEEQUIPBUG_TMPTbL_BUG values(
                  '合计'
                  ,Emergy_Find
                  ,Emergy_Handle
                  ,LargeBug_LastMonthRest
                  ,LargeBug_ThisMonthFind
                  ,LargeBug_ThisMonthHandle
                  ,LargeBug_NowRest
                  ,CommonBug_LastMonthRest
                  ,CommonBug_ThisMonthFind
                  ,CommonBug_ThisMonthHandle
                  ,CommonBug_NowRest                         ) ;-------------------------------------------------------
    ------------结束求合计的数据--------------------------
    ------------------------------------------------------- -------------------------------------------------------
    ----------------------返回游标 ----------------
    -------------------------------------------------------     open P_CURSOR FOR
           SELECT * 
           FROM WHREP_LINEEQUIPBUG_TMPTbL_BUG ;
      
    end GETBUG;
      

  2.   


    --------------------------------------------------
    /************************************************
    ****************线路异常故障月报*****************
    ************************************************/
    --------------------------------------------------
    procedure GETACCIDENT(P_DTBEGIN in varchar2 ,
                       P_DTEND in varchar2 ,
                       P_CURSOR out RC_TYPE) 
    ISBEGIN
      NULL ;
    END GETACCIDENT;                  
                       
    end WHREP_LINEEQUIPBUG_MonthStat;
      

  3.   

    下面是我做的一张报表,两个表格在一张纸上一.
    缺陷月报 分类 紧急缺陷(件) 重大缺陷(件) 一般缺陷(件)
    发现 处理 上月       遗留 本月发现 本月处理 现有 上月      遗留 本月       发现 本月         处理 现有
    110kV
    35kV
    6~10kV
    台区低压
    合     计
    二。线路异常故障月报 分类 累计故障情况 保护动作分类(次) 异常设备部件分类(次) 异常设备技术分类(次) 异常原因分类(次)
    异常累计次数 重合成功次数 停运时数(h) 损失电量(kW·h) 单相接地 过流 速断 其它 距离 零序 杆塔 电缆 绝缘子 避雷器 熔断器 变  压        器 其它 过     负荷 绝缘不良 交叉放电 对树放电 地距不够 混断线 倒杆塔 外力短路 动物短路 带电作业 其它 维护不当 管理不良 质量不良 勘设错误 设备老化 自然灾害 原因不明 其它
    110kV
    35kV
    6~10kV
    合    计