• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    Oracle 11g行列轉換之PIVOT

    發布時間:  2012/9/5 16:59:01

    文對Oracle 11g的行列轉換操作的簡單實例,供初學者參考。

    現有問題如下:

    問題描述:
      Table1
      Id Name
      1 Taylor
      2 Jim
       
      Table2
      FId value attr-
     

      1 23 age
      1 boy sex
      2 26 age
      2 boy sex

    Table1 Id 是主鍵,Table2 的FId 是外鍵,對應Table1 的主鍵

    要查出age大于24,且sex 是boy 的人的name  
    結果是:
    Name
    Jim

    創建表病插入數據,其中TABLE1為源表,TABLE2為目標表,腳本如下:

    create table table2(  
     fid number(12),  
     value varchar2(10),  
     attr varchar2(10)  
    );  
      
    insert into table2 values(1,'23','age');  
    insert into table2 values(1,'boy','sex');  
    insert into table2 values(2,'26','age');  
    insert into table2 values(2,'boy','sex');  
      
      
    create table table1(  
      id number(12),  
      name varchar2(20)  
    );  
              
    insert into table1 values(1,'Taylor');   
    insert into table1 values(2,'Jim');  
    如下語句可實現表TABLE1的行列轉換:

    select *  
      from table2 pivot(max(value) as attr for(attr) in('age' as age,  
                                                        'sex' as sex)); 

    最后如下語句即可解答開始的問題:

    with pivot_table2 as(                                                      
    select *  
      from table2 pivot(max(value) as attr for(attr) in('age' as age,  
                                                        'sex' as sex)))  
    select t1.* from pivot_table2 pt,table1 t1  
    where pt.fid=t1.id  
    and pt.age_attr>24 and pt.sex_attr='boy' 


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線