始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

Oracle中使用decode进行数据的列转换为行的试验

发布时间:  2012/9/5 17:07:40

如何将以下数据格式的数据转换为
初始化格式如下:
1    市政府    房产    1    2    3
2    省政府    房产    4    3    4-
 

3    肥东    房产    5    4    5
4    肥西    房产    6    5    7
5    长风    房产    7    7    8
6    淮南    房产    8    9    5
7    市政府    汽车    1    2    3
8    省政府    汽车    4    3    4
9    肥东    汽车    5    4    5
10    肥西    汽车    6    5    7
11    长风    汽车    7    7    8
12    淮南    汽车    8    9    5
13    肥西    奢侈品    6    5    7
14    长风    奢侈品    7    7    8
15    淮南    奢侈品    8    9    5
16    市政府    贵重首饰    1    2    3
17    省政府    贵重首饰    4    3    4
18    肥东    贵重首饰    5    4    5

需要转变为

                        房产                    汽车                    奢侈品                    奢侈品       
       PRO_TYPE    场次    销售价    佣金    场次    销售价    佣金    场次    销售价    佣金    场次    销售价    佣金
1    淮南        8        9        5        8        9        5        8        9        5           
2    肥东        5        4        5        5        4        5                                5        4        5
3    市政府        1        2        3        1        2        3                                1        2        3
4    省政府        4        3        4        4        3        4                                4        3        4
5    肥西        6        5        7        6        5        7        6        5        7           
6    长风        7        7        8        7        7        8        7        7        8           


处理sql语句如下:
select pro_type,
       sum(decode(bm_tyoe, '房产', jiage1)) 房产场次,
       sum(decode(bm_tyoe, '房产', jiage2)) 房产销售价,
       sum(decode(bm_tyoe, '房产', jiage3)) 房产佣金,
       sum(decode(bm_tyoe, '汽车', jiage1)) 汽车场次,
       sum(decode(bm_tyoe, '汽车', jiage2)) 房产销售价,
       sum(decode(bm_tyoe, '汽车', jiage3)) 汽车佣金,
       sum(decode(bm_tyoe, '奢侈品', jiage1)) 奢侈品场次,
       sum(decode(bm_tyoe, '奢侈品', jiage2)) 奢侈品销售价,
       sum(decode(bm_tyoe, '奢侈品', jiage3)) 奢侈品佣金,
       sum(decode(bm_tyoe, '贵重首饰', jiage1)) 贵重首饰场次,
       sum(decode(bm_tyoe, '贵重首饰', jiage2)) 贵重首饰销售价,
       sum(decode(bm_tyoe, '贵重首饰', jiage3)) 贵重首饰佣金
  from tmp_table
 group by pro_type

Sql代码

prompt PL/SQL Developer import file   
prompt Created on 2012年7月5日 by jiaorg   
set feedback off  
set define off  
prompt Creating TMP_TABLE...   
create table TMP_TABLE   
(   
  PRO_TYPE VARCHAR2(20),   
  BM_TYOE  VARCHAR2(20),   
  JIAGE1   NUMBER(5),   
  JIAGE2   NUMBER(5),   
  JIAGE3   NUMBER(5)   
)   
tablespace ABRES   
  pctfree 10   
  initrans 1   
  maxtrans 255   
  storage   
  (   
    initial 64K   
    next 1M   
    minextents 1   
    maxextents unlimited   
  );   
  
prompt Disabling triggers for TMP_TABLE...   
alter table TMP_TABLE disable all triggers;   
prompt Deleting TMP_TABLE...   
delete from TMP_TABLE;   
commit;   
prompt Loading TMP_TABLE...   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('市政府', '房产', 1, 2, 3);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('省政府', '房产', 4, 3, 4);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('肥东', '房产', 5, 4, 5);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('肥西', '房产', 6, 5, 7);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('长风', '房产', 7, 7, 8);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('淮南', '房产', 8, 9, 5);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('市政府', '汽车', 1, 2, 3);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('省政府', '汽车', 4, 3, 4);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('肥东', '汽车', 5, 4, 5);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('肥西', '汽车', 6, 5, 7);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('长风', '汽车', 7, 7, 8);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('淮南', '汽车', 8, 9, 5);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('肥西', '奢侈品', 6, 5, 7);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('长风', '奢侈品', 7, 7, 8);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('淮南', '奢侈品', 8, 9, 5);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('市政府', '贵重首饰', 1, 2, 3);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('省政府', '贵重首饰', 4, 3, 4);   
insert into TMP_TABLE (PRO_TYPE, BM_TYOE, JIAGE1, JIAGE2, JIAGE3)   
values ('肥东', '贵重首饰', 5, 4, 5);   
commit;   
prompt 18 records loaded   
prompt Enabling triggers for TMP_TABLE...   
alter table TMP_TABLE enable all triggers;   
set feedback on  
set define on  
prompt Done. 


 


本文出自:亿恩科技【www.enkj.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号
      0
     
     
     
     

    0371-60135900
    7*24小时客服服务热线