<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    背著手扇扇子的人
    往事隨風......前事如夢......
    posts - 35,  comments - 17,  trackbacks - 0

    有人問這樣的sql該怎么實現:
    表數據和結構
    ?? ?CODE?NAME????B01????S01????B02????S02
    ????1??????????張三???????數學????80??
    ????1??????????張三????????????????????????????語文????75
    ????2??????????王五???????數學????70??
    ????2??????????王五????
    ????3??????????李四???????數學????50??
    ????3??????????李四???????????????????????????語文????88

    希望查詢出如下結果:
    ?? ?CODE?SUM_STR(NAME)????B01????SUM_STR(S01)????B02????SUM_STR(S02)
    ????1????????????????張三????????????????????數學????????????????80?????????? 語文????????????75
    ????2????????????????王五????????????????????數學????????????????70??
    ????3????????????????李四????????????????????數學????????????????50?????????? 語文?????????????88
    這個問題可以采用自定義的聚集函數來實現:

    create ? or ? replace ?type?strcat_type? as ?object?(
    ????cat_string?
    varchar2 ( 4000 ),
    ????static?
    function ?ODCIAggregateInitialize(cs_ctx? In ?Out?strcat_type)? return ? number ,
    ????member?
    function ?ODCIAggregateIterate(self? In ?Out?strcat_type,value? in ? varchar2 )? return ?

    number ,
    ????member?
    function ?ODCIAggregateMerge(self? In ?Out?strcat_type,ctx2? In ?Out?strcat_type)?

    return ? number ,
    ????member?
    function ?ODCIAggregateTerminate(self? In ?Out?strcat_type,returnValue?Out?

    varchar2 ,flags? in ? number )? return ? number
    )
    /


    ------------------------------------

    create ? or ? replace ?type?body?strcat_type? is
    ??static?
    function ?ODCIAggregateInitialize(cs_ctx? IN ?OUT?strcat_type)? return ? number
    ??
    is
    ??
    begin
    ??????cs_ctx?:
    = ?strcat_type(? null ?);
    ??????
    return ?ODCIConst.Success;
    ??
    end ;

    ??member?
    function ?ODCIAggregateIterate(self? IN ?OUT?strcat_type,
    ???????????????????????????????????????value?
    IN ? varchar2 ?)
    ??
    return ? number
    ??
    is
    ??
    begin
    ??????
    if ?self.cat_string? is ? null ? then
    ?????????self.cat_string?:
    = ?value;
    ??????
    end ? if ;
    ??????
    return ?ODCIConst.Success;
    ??
    end ;

    ??member?
    function ?ODCIAggregateTerminate(self? IN ?Out?strcat_type,
    ?????????????????????????????????????????returnValue?OUT?
    varchar2 ,
    ?????????????????????????????????????????flags?
    IN ? number )
    ??
    return ? number
    ??
    is
    ??
    begin
    ??????returnValue?:
    = ?self.cat_string;
    ??????
    return ?ODCIConst.Success;
    ??
    end ;

    ??member?
    function ?ODCIAggregateMerge(self? IN ?OUT?strcat_type,
    ?????????????????????????????????????ctx2?
    IN ?Out?strcat_type)
    ??
    return ? number
    ??
    is
    ??
    begin
    ?????? if self.cat_string is null then
    ?????????????????? self.cat_string :=? ctx2.cat_string;
    ????????? end if;
    ?????? return ?ODCIConst.Success;
    ??
    end ;

    end ;
    /

    -------------------

    CREATE ? OR ? REPLACE ? FUNCTION ?sum_str(input? varchar2 ?)
    RETURN ? varchar2
    PARALLEL_ENABLE?AGGREGATE?USING?strcat_type;
    /

    -------最后查詢語句:

    select ?code,sum_str(name),?sum_str(b01)?b01,sum_str(s01)?,sum_str(b02)?b02,sum_str(s02)
    from ?javaeye? group ? by ?code? order ? by ?code
    posted @ 2009-01-05 21:55 kebo 閱讀(977) | 評論 (4)編輯 收藏

    <2009年1月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章檔案

    相冊

    收藏夾

    朋友

    搜索

    •  

    積分與排名

    • 積分 - 23131
    • 排名 - 1598

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲不卡无码av中文字幕| 91精品免费国产高清在线| 国产精品酒店视频免费看| 久久国产精品免费一区二区三区| 免费黄色大片网站| 亚洲精品成a人在线观看☆| 一级特黄录像免费播放肥| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 亚洲精品亚洲人成在线观看| 尤物视频在线免费观看| 亚洲日韩涩涩成人午夜私人影院| 日韩毛片免费一二三| 黑人大战亚洲人精品一区| 三年片免费观看大全国语| 亚洲av无码专区在线播放 | 免费很黄无遮挡的视频毛片| 免费a级毛片网站| 亚洲一区二区三区免费| 亚洲色精品88色婷婷七月丁香| 在线观看人成视频免费无遮挡| 国产亚洲高清不卡在线观看| 久久综合给合久久国产免费 | 亚洲激情在线观看| 亚洲黄色免费在线观看| 亚洲人成77777在线观看网| 国产又黄又爽又猛的免费视频播放| 看免费毛片天天看| 亚洲综合AV在线在线播放| 鲁大师在线影院免费观看| 中文字幕亚洲综合久久综合| 亚洲成a人片在线观看久| 黄网站色视频免费在线观看的a站最新 | 18禁止观看免费私人影院| 亚洲AV网一区二区三区| 亚洲精品国产成人片| 国产精品成人免费视频网站京东| 亚洲国产成人无码AV在线| 久久亚洲精品成人777大小说| 成年男女男精品免费视频网站| 少妇亚洲免费精品| 亚洲一区中文字幕|