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

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

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

    如何學(xué)好java

    如何學(xué)好java,其實(shí)很簡(jiǎn)單,只要用心體會(huì),慢慢積累!
    posts - 106, comments - 7, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    DB2行轉(zhuǎn)列

    Posted on 2011-12-07 10:36 哈希 閱讀(317) 評(píng)論(0)  編輯  收藏 所屬分類: sql 總結(jié)

     

    1. 班級(jí)  科目   分?jǐn)?shù)  
    2. 1     語文   8800  
    3. 1     數(shù)學(xué)   8420  
    4. 1     英語   7812  
    5. ……  
    6. 2     語文   8715  
    7. 2     數(shù)學(xué)   8511  
    8. 2     英語   8512  
    9. ……  
    10.    
    11.    
    12. 要求轉(zhuǎn)換成下面這樣的結(jié)果  
    13. 班級(jí)    語文    數(shù)學(xué)    英語  
    14. 1       8800    8420    7812  
    15. 2       8715    8511    8512  

     

     

    這是一個(gè)非常經(jīng)典的 4屬性的表設(shè)計(jì)模式,顧名思義,這樣的表一般有四列,分別是:entity_id, attribute_name, attribute_type, attribute_value ,這樣的設(shè)計(jì)使我們添加字段非常容易,如:我們想添加一個(gè)物理成績(jī)是非常簡(jiǎn)單的,我們只要向表中插入一條記錄即可。但是,這樣的設(shè)計(jì)有一個(gè)非常嚴(yán)重的問題,那就是:查詢難度增加,查詢效率非常差。

    要想實(shí)現(xiàn)上面的查詢有一個(gè)原則,那就是:通過case語句創(chuàng)造虛擬字段,使結(jié)果集成為二維數(shù)組,然后應(yīng)用聚合函數(shù)返回單一記錄。怎么樣?不理解,仔細(xì)看看下面的圖和分析下面的語句你就理解了。

     

    1. create table score  
    2. (  
    3.     banji integer,  
    4.     kemu varchar(10),   
    5.     fengshu integer  
    6. )  
    7. go  
    8.    
    9. insert into score values  
    10. (1, '語文', 8800),  
    11. (1, '數(shù)學(xué)', 8420),  
    12. (1, '英語', 7812),  
    13. (2, '語文', 8715),  
    14. (2, '數(shù)學(xué)', 8511),  
    15. (2, '英語', 8512)  
    16. go  
    17.    
    18. select banji,  
    19.        max(yuwen)        語文,  
    20.        max(shuxue)       數(shù)學(xué),  
    21.        max(yingyu)       英語  
    22. from    
    23.      (select  banji,  
    24.               case kemu  
    25.                when '語文' then fengshu  
    26.                else 0  
    27.              end                         yuwen,  
    28.              case kemu  
    29.                when '數(shù)學(xué)' then fengshu  
    30.                else 0  
    31.              end                         shuxue,  
    32.              case kemu  
    33.                when '英語' then fengshu  
    34.                else 0  
    35.              end                         yingyu  
    36.       from score  
    37.       ) as inner  
    38. group by inner.banji  
    39. order by 1  
    40. go  

     

     

    你可能正在感嘆,這樣的解決方案是多么的巧妙,可惜不是我想出來的,在這里,我也不敢把大師的思想據(jù)為己有,以上思想來自<SQL語言藝術(shù)>的第11章,想了解更全面的信息,大家可以參考。

     

     

    主站蜘蛛池模板: 3344免费播放观看视频| 久久精品亚洲日本波多野结衣| 亚洲6080yy久久无码产自国产 | 日本不卡在线观看免费v| 亚洲午夜国产精品| 国产免费女女脚奴视频网 | 亚洲人成网站在线播放影院在线| 一级毛片免费在线播放| 亚洲国产精品丝袜在线观看| 四虎国产精品成人免费久久| 亚洲第一页日韩专区| 中国内地毛片免费高清| 亚洲精品少妇30p| 国产好大好硬好爽免费不卡| 亚洲人成电影福利在线播放 | 99re在线视频免费观看| 亚洲日韩乱码中文无码蜜桃臀| 精品福利一区二区三区免费视频 | 13小箩利洗澡无码视频网站免费| 永久在线观看www免费视频| 亚洲国产成人91精品| 亚洲日韩国产一区二区三区| 我的小后妈韩剧在线看免费高清版| japanese色国产在线看免费| 亚洲AV成人一区二区三区在线看| 亚洲av无码无在线观看红杏| 最近中文字幕免费mv视频8| 免费国产黄网站在线观看| 一区二区三区免费视频播放器| 亚洲精品亚洲人成在线观看麻豆 | 亚洲国产成a人v在线观看| 亚洲国产成人乱码精品女人久久久不卡| a级片免费在线观看| 国产精品亚洲а∨无码播放麻豆| 亚洲av无码国产精品夜色午夜 | 91麻豆国产免费观看| 免费大片av手机看片高清| 中文字幕亚洲精品无码| 久久青青草原亚洲AV无码麻豆| 四虎永久成人免费| 久久精品无码一区二区三区免费|