校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Oracle 查詢存儲過程做橫向報表的方法

Oracle 查詢存儲過程做橫向報表的方法

熱門標簽:征服者火車站地圖標注 美圖秀秀地圖標注 人工智能地圖標注自己能做嗎 征服眼公司地圖標注 百度地圖標注素材 word地圖標注方向 外呼線路外顯本地號碼 阿爾巴尼亞地圖標注app 開封智能外呼系統廠家

因為要牽扯到小計,所以需要計算兩次。

想法:

1、把查詢到的結果,插入到臨時表,

2、把統計結果插入到臨時表。

3、查詢臨時表記錄放置到游標中。

4、刪除臨時表記錄。

包的定義聲明:

復制代碼 代碼如下:

CREATE OR REPLACE PACKAGE CHEN_TEST_PACKGE IS
type cursor_type is ref cursor;

 

 /************************************************************************************/
 /*  功能說明:查詢某種公告報表                                                      */
 /*  參數說明:                                                                      */
 /*         i_id_capital_dynamic_manage IN   VARCHAR2          某種公告ID            */
 /*         o_cursor                  OUT  cursor_type       返回游標                */
 /*                                                                                  */
 /*  創建日期         姓名                                                           */
 /*  2013-03-08       路人甲                                                         */
 /************************************************************************************/

PROCEDURE p_list_bulletin_report(  i_id_capital_dynamic_manage       IN       VARCHAR2,
                                   o_cursor                 OUT      cursor_type);

END CHEN_TEST_PACKGE;

包的實現:

復制代碼 代碼如下:


CREATE OR REPLACE PACKAGE BODY CHEN_TEST_PACKGE IS

/************************************************************************************/
 /*  功能說明:查詢某種公告報表                                                      */
 /*  參數說明:                                                                      */
 /*         i_id_capital_dynamic_manage IN   VARCHAR2          某種公告ID            */
 /*         o_cursor                  OUT  bulletin_report_type       返回游標       */
 /*                                                                                  */
 /*  創建日期         姓名                                                           */
 /*  2013-03-08       路人甲                                                         */
 /************************************************************************************/

PROCEDURE p_list_bulletin_report(  i_id_capital_dynamic_manage       IN       VARCHAR2,
                                   o_cursor                 OUT      bulletin_report_type)
AS
     set_id_bulletin_report_temp VARCHAR2(50); -- 定義臨時變量
BEGIN
    begin
      --給臨時變量賦值
      --select to_char(sysdate,'yyyymmddhh24missSSS') into set_id_bulletin_report_temp from dual;
      select i_id_capital_dynamic_manage into set_id_bulletin_report_temp from dual;     
      --獲取數據插入臨時表
        insert into scms_bulletin_report_temp
        (
          id_bulletin_report_temp,
          biz_Name                      ,
          t01                           ,
          t07                           ,
          t14                           ,
          t21                           ,
          t1M                           ,
          t2M                           ,
          t3M                           ,
          t4M                           ,
          t5M                           ,
          t6M                           ,
          t1Y                           ,
          t2Y                           ,
          tCount                        ,
          sort_no                      
        )
        select c.*,
    rownum as sort_no
    from(
        select
        set_id_bulletin_report_temp as id_bulletin_report_temp,
        scms_common_packge.get_biz_name(b.biz_id) as biz_Name,
        max(case  when b.term_type='T01' then b.c else 0 end) as T01,
        max(case  when b.term_type='T07' then b.c else 0 end) as T07,
        max(case  when b.term_type='T14' then b.c else 0 end) as T14,
        max(case  when b.term_type='T21' then b.c else 0 end) as T21,
        max(case  when b.term_type='T1M' then b.c else 0 end) as T1M,
        max(case  when b.term_type='T2M' then b.c else 0 end) as T2M,
        max(case  when b.term_type='T3M' then b.c else 0 end) as T3M,
        max(case  when b.term_type='T4M' then b.c else 0 end) as T4M,
        max(case  when b.term_type='T5M' then b.c else 0 end) as T5M,
        max(case  when b.term_type='T6M' then b.c else 0 end) as T6M,
        max(case  when b.term_type='T1Y' then b.c else 0 end) as T1Y,
        max(case  when b.term_type='T2Y' then b.c else 0 end) as T2Y,
        sum(b.c) as BIZ_ID_COUNT
        from
        (
        select a.term_type,a.biz_id, sum(a.capital_claim) c
          from (select report.capital_claim,
                       report.biz_id,
                       detail.term_type
                  from scms_capital_claim_report   report,
                       scms_capital_assign_detail  detail,
                       scms_capital_dynamic_manage manager
                 where manager.id_capital_dynamic_manage = detail.id_capital_dynamic_manage
                   and report.id_capital_assign_detail = detail.id_capital_assign_detail
                   and detail.id_capital_dynamic_manage = i_id_capital_dynamic_manage
                   and manager.IS_SETTLEMENT = '1'
                   and manager.IS_CONFIRM = '1'
                   ) a
         group by a.term_type, a.biz_id
        ) b group by b.biz_id
        ) c;

    -- 插入總記錄數
        insert into scms_bulletin_report_temp
                (
                  id_bulletin_report_temp,
                  biz_Name                      ,
                  t01                           ,
                  t07                           ,
                  t14                           ,
                  t21                           ,
                  t1M                           ,
                  t2M                           ,
                  t3M                           ,
                  t4M                           ,
                  t5M                           ,
                  t6M                           ,
                  t1Y                           ,
                  t2Y                           ,
                  tCount                        ,
                  sort_no                      
                )
        select c.*,
    (select max(sort_no)+1 from scms_bulletin_report_temp te where te.id_bulletin_report_temp = set_id_bulletin_report_temp ) as sort_no
    from(
                select
                set_id_bulletin_report_temp as id_bulletin_report_temp,
            '總計(天數)' as biz_Name,
        max(case  when b.term_type='T01' then b.c else 0 end) as T01,
        max(case  when b.term_type='T07' then b.c else 0 end) as T07,
        max(case  when b.term_type='T14' then b.c else 0 end) as T14,
        max(case  when b.term_type='T21' then b.c else 0 end) as T21,
        max(case  when b.term_type='T1M' then b.c else 0 end) as T1M,
        max(case  when b.term_type='T2M' then b.c else 0 end) as T2M,
        max(case  when b.term_type='T3M' then b.c else 0 end) as T3M,
        max(case  when b.term_type='T4M' then b.c else 0 end) as T4M,
        max(case  when b.term_type='T5M' then b.c else 0 end) as T5M,
        max(case  when b.term_type='T6M' then b.c else 0 end) as T6M,
        max(case  when b.term_type='T1Y' then b.c else 0 end) as T1Y,
        max(case  when b.term_type='T2Y' then b.c else 0 end) as T2Y,
        sum(b.c) as BIZ_ID_COUNT
        from
        (
        select a.term_type,'biz_id_count' as biz_id, sum(a.capital_claim) c
          from (select report.capital_claim,
                       report.biz_id,
                       detail.term_type
                  from scms_capital_claim_report   report,
                       scms_capital_assign_detail  detail,
                       scms_capital_dynamic_manage manager
                 where manager.id_capital_dynamic_manage = detail.id_capital_dynamic_manage
                   and report.id_capital_assign_detail = detail.id_capital_assign_detail
                   and detail.id_capital_dynamic_manage = i_id_capital_dynamic_manage
                   and manager.IS_SETTLEMENT = '1'
                   and manager.IS_CONFIRM = '1'
                   ) a
         group by  a.term_type
        ) b group by b.biz_id
        ) c;
      -- 查詢剛剛插入的表記錄
        open o_cursor for
                select 
                id_bulletin_report_temp as idBulletinReportTemp,
              biz_Name                as bizName  ,
              t01                     as t01  ,
              t07                     as t07  ,
              t14                     as t14  ,
              t21                     as t21  ,
              t1M                     as t1M  ,
              t2M                     as t2M  ,
              t3M                     as t3M  ,
              t4M                     as t4M  ,
              t5M                     as t5M   ,
              t6M                     as t6M   ,
              t1Y                     as t1Y   ,
              t2Y                     as t2Y   ,
              tCount                  as tCount,
              sort_no                 as sortNo
                from scms_bulletin_report_temp temp
                where temp.id_bulletin_report_temp = set_id_bulletin_report_temp
                order by sortNo asc;
    -- 刪除:根據ID刪除剛剛插入的記錄
    delete from scms_bulletin_report_temp temp where temp.id_bulletin_report_temp = set_id_bulletin_report_temp;   
    commit;   
    end;
END p_list_bulletin_report; 
END CHEN_TEST_PACKGE;
/


頁面調用ibatis的xml配置查詢結果:

復制代碼 代碼如下:

!-- 某種公告報表查詢 結果集 class="java.util.HashMap"-->
     resultMap id="bulletinReportResultMap" class="java.util.TreeMap">
        result property="bizId" column="bizId"/>
        result property="bizName" column="bizName"/>
        result property="t01" column="t01"/>
        result property="t07" column="t07"/>
        result property="t14" column="t14"/>
        result property="t21" column="t21"/>
        result property="t1M" column="t1M"/>
        result property="t2M" column="t2M"/>
        result property="t3M" column="t3M"/>
        result property="t4M" column="t4M"/>
        result property="t5M" column="t5M"/>
        result property="t6M" column="t6M"/>
        result property="t1Y" column="t1Y"/>
        result property="t2Y" column="t2Y"/>
        result property="tCount" column="tCount"/>
        result property="sortNo" column="sortNo"/>
    /resultMap>
    !-- 某種公告報表查詢 參數 -->   
    parameterMap id="bulletinReportParamMap" class="java.util.Map">
         parameter property="i_id_capital_dynamic_manage" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" />
         parameter property="o_cursor" javaType="java.sql.ResultSet" jdbcType="ORACLECURSOR" mode="OUT" />
     /parameterMap>    
    !-- 某種公告報表查詢 調用存儲過程 -->
     procedure id="queryBulletinReportList" resultMap="bulletinReportResultMap" parameterMap="bulletinReportParamMap">
        {call CHEN_TEST_PACKGE.p_list_bulletin_report(?,?)}
    /procedure>

java調用:

復制代碼 代碼如下:

String id_capital_dynamic_manage = request.getParameter("id_capital_dynamic_manage");
            MapString, Object> paraMap = new HashMapString, Object>();
            paraMap.put("i_id_capital_dynamic_manage", id_capital_dynamic_manage);
            // 調用存儲過程,查詢
            List resultList = (List?>) CURDUtil.queryList("queryBulletinReportList", paraMap);

頁面顯示jsp:

復制代碼 代碼如下:

c:if test="${not empty msgList}">
                  c:forEach items="${msgList}" var="item">
                  tr align="center" >
                    td nowrap class="td_3"  >c:out value="${item.bizName}"/>/td>
                    td nowrap class="td_3"  >fmt:formatNumber pattern="#,##0.00" value="${item.t01}"/>/td>
                    td nowrap class="td_3"  >fmt:formatNumber pattern="#,##0.00" value="${item.t07}"/>/td>
                    td nowrap class="td_3"  >fmt:formatNumber pattern="#,##0.00" value="${item.t14}"/>/td>
                    td nowrap class="td_3"  >fmt:formatNumber pattern="#,##0.00" value="${item.t21}"/>/td>
                    td nowrap class="td_3"  >fmt:formatNumber pattern="#,##0.00" value="${item.t1M}"/>/td>
                    td nowrap class="td_3"  >fmt:formatNumber pattern="#,##0.00" value="${item.t2M}"/>/td>
                    td nowrap class="td_3"  >fmt:formatNumber pattern="#,##0.00" value="${item.t3M}"/>/td>
                    td nowrap class="td_3"  >fmt:formatNumber pattern="#,##0.00" value="${item.tCount}"/>/td>
                  /tr>
                  /c:forEach>
              /c:if>

您可能感興趣的文章:
  • oracle求和代碼示例
  • oracle橫向縱向求和代碼實例

標簽:酒泉 六安 淮南 宜春 海北 葫蘆島 泰安 孝感

巨人網絡通訊聲明:本文標題《Oracle 查詢存儲過程做橫向報表的方法》,本文關鍵詞  Oracle,查詢,存儲,過程,做,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle 查詢存儲過程做橫向報表的方法》相關的同類信息!
  • 本頁收集關于Oracle 查詢存儲過程做橫向報表的方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久综合丝袜日本网| 亚洲人成亚洲人成在线观看图片| 成人免费视频一区二区| 污片在线观看一区二区| 国产欧美日韩精品在线| 欧美一区二区三区成人| 91色porny| 国产高清在线精品| 青青草国产精品97视觉盛宴| 亚洲欧美日韩国产综合在线| 久久精品亚洲精品国产欧美kt∨ | 国产98色在线|日韩| 图片区日韩欧美亚洲| 亚洲精品国产品国语在线app| 国产亚洲一二三区| 欧美va在线播放| 欧美一区二区网站| 日本乱码高清不卡字幕| 成人动漫一区二区| 国产精品亚洲第一| 国产精品香蕉一区二区三区| 精品在线播放午夜| 免费成人在线网站| 免费观看一级特黄欧美大片| 天天综合天天做天天综合| 日韩精品专区在线影院观看| 一区二区国产视频| 91麻豆精品国产自产在线观看一区| 91麻豆高清视频| www.色精品| 成人av在线播放网站| 国产成人av电影在线观看| 精品一区二区三区的国产在线播放| 三级一区在线视频先锋| 亚洲午夜久久久久久久久电影网| 亚洲男人电影天堂| 亚洲综合色婷婷| 亚洲国产wwwccc36天堂| 亚洲国产裸拍裸体视频在线观看乱了 | 国产伦精品一区二区三区免费迷| 美女视频一区在线观看| 麻豆91免费观看| 香蕉久久一区二区不卡无毒影院| 亚洲bt欧美bt精品| 日本不卡一区二区三区高清视频| 免费看欧美女人艹b| 激情六月婷婷久久| 成人美女在线观看| 色综合视频在线观看| 欧美体内she精视频| 欧美精品乱人伦久久久久久| 制服丝袜中文字幕一区| 欧美大片在线观看| 欧美激情一区二区三区| 综合自拍亚洲综合图不卡区| 亚洲精品中文在线观看| 婷婷久久综合九色国产成人| 免费成人结看片| 国产黄色精品网站| 91免费看片在线观看| 欧美日韩一区二区电影| 日韩欧美国产电影| 国产精品免费久久久久| 亚洲高清免费视频| 国产一区中文字幕| 99久久久国产精品| 91精品国产综合久久久久久| 日韩美一区二区三区| 中文一区在线播放| 亚洲国产裸拍裸体视频在线观看乱了| 丝袜诱惑制服诱惑色一区在线观看 | 国产色91在线| 亚洲美女在线国产| 久久精品99国产精品日本| 大桥未久av一区二区三区中文| 91网站在线播放| 日韩一区二区精品| 国产精品精品国产色婷婷| 亚洲.国产.中文慕字在线| 国产在线精品一区二区夜色| 色婷婷av一区二区| www国产精品av| 一区2区3区在线看| 黑人巨大精品欧美黑白配亚洲| 不卡一区二区三区四区| 91麻豆精品国产91久久久资源速度| 久久先锋资源网| 午夜精品影院在线观看| 懂色中文一区二区在线播放| 欧美精品vⅰdeose4hd| 亚洲国产精品成人久久综合一区| 五月天国产精品| 91亚洲资源网| 久久先锋影音av鲁色资源| 亚洲一区二区偷拍精品| 成人综合婷婷国产精品久久| 91精品国产美女浴室洗澡无遮挡| 中文字幕欧美一区| 国产精品一区在线| 日韩一级视频免费观看在线| 国产精品久久午夜夜伦鲁鲁| 狠狠色丁香久久婷婷综合丁香| 欧美中文字幕久久| 国产精品电影院| 国产在线一区观看| 欧美一区二区在线不卡| 亚洲妇女屁股眼交7| 99re8在线精品视频免费播放| 欧美一区二区三区在| 亚洲国产精品久久久久婷婷884 | 三级久久三级久久久| 99久久综合99久久综合网站| 久久五月婷婷丁香社区| 日本成人在线看| 欧美日韩一区二区在线观看视频| 亚洲天堂精品视频| av电影天堂一区二区在线观看| 久久久噜噜噜久噜久久综合| 麻豆久久久久久| 日韩一区国产二区欧美三区| 香蕉成人啪国产精品视频综合网| 91美女精品福利| 亚洲三级视频在线观看| 99久久免费精品高清特色大片| 久久久国际精品| 国产成人午夜精品影院观看视频 | 国产福利一区在线| 久久久亚洲高清| 国产经典欧美精品| 国产欧美日韩中文久久| 国产寡妇亲子伦一区二区| 久久久精品tv| 丰满亚洲少妇av| 国产精品久久久久9999吃药| 不卡一区二区在线| 一区视频在线播放| 色素色在线综合| 亚洲国产精品一区二区久久恐怖片 | 日韩国产精品久久久久久亚洲| 欧美男男青年gay1069videost| 天堂精品中文字幕在线| 欧美一区二区三区免费观看视频 | 中文字幕av一区二区三区免费看| 国产成人高清视频| 国产精品国产精品国产专区不片| fc2成人免费人成在线观看播放| 亚洲欧洲成人av每日更新| 91久久国产综合久久| 亚洲国产日韩精品| 91精品福利在线一区二区三区| 免费的国产精品| 国产色产综合色产在线视频 | 粉嫩高潮美女一区二区三区| 国产精品短视频| 欧美亚洲综合在线| 三级欧美韩日大片在线看| 欧美成人综合网站| 成人黄色免费短视频| 一区二区在线观看免费| 欧美丰满嫩嫩电影| 激情深爱一区二区| 亚洲视频 欧洲视频| 欧美日韩一区在线观看| 国内精品久久久久影院色| 国产精品久久久久久久久搜平片| 色婷婷久久99综合精品jk白丝| 首页国产欧美日韩丝袜| 国产性天天综合网| 欧洲精品在线观看| 国产在线播放一区三区四| 亚洲人成小说网站色在线| 欧美疯狂做受xxxx富婆| 国产91精品精华液一区二区三区| 亚洲精品免费看| 日韩午夜av电影| bt欧美亚洲午夜电影天堂| 日本午夜精品视频在线观看| 国产欧美一区二区精品仙草咪| 欧美色图免费看| 国v精品久久久网| 性做久久久久久免费观看| 久久久国产精品午夜一区ai换脸| 91久久精品一区二区| 国产在线国偷精品产拍免费yy| 一区二区在线免费观看| 久久精品视频一区二区三区| 欧美三级三级三级| 成人a免费在线看| 久久激五月天综合精品| 亚洲精品成a人| 久久亚洲综合色一区二区三区| 欧洲一区二区三区在线| 国产成人亚洲综合a∨婷婷| 日韩精品电影一区亚洲| 亚洲丝袜精品丝袜在线| 精品久久久久久久一区二区蜜臀| 在线视频亚洲一区| 丁香天五香天堂综合| 蜜桃视频一区二区三区在线观看| 亚洲欧美国产高清|