设为首页 加入收藏

TOP

数据的挪移--变得紧凑
2015-11-21 02:09:19 来源: 作者: 【 】 浏览:2
Tags:数据 挪移 变得 紧凑
现在的需求是讲下列的结果集变得紧凑:
         COL1       COL2       COL3
     ---------- ---------- ----------         

         1
         2
         3
         4
         5
         6
                    7
                    8
                    9
                   10
                              11
                              12



      COL1       COL2       COL3
    ---------- ---------- ----------
         1          7         11
         2          8         12
         3          9
         4         10
         5
         6

drop table test;
create table test(col1 number,col2 number,col3 number);
insert into test values(1,null,null);
insert into test values(2,null,null);
insert into test values(3,null,null);
insert into test values(4,null,null);
insert into test values(5,null,null);
insert into test values(6,null,null);
insert into test values(null,7,null);
insert into test values(null,8,null);
insert into test values(null,9,null);
insert into test values(null,10,null);
insert into test values(null,null,11);
insert into test values(null,null,12);
commit;

SQL> select * from test;
      COL1       COL2       COL3
---------- ---------- ----------
         1
         2
         3
         4
         5
         6
                    7
                    8
                    9
                   10
                              11
                              12

?

?
?
思路是每列查出来,然后做左连接:
with t1 as(select rownum rn,col1 from test where col1 is not null),
t2 as(select rownum rn,col2 from test where col2 is not null),
t3 as(select rownum rn,col3 from test where col3 is not null)
select col1,col2,col3 from t1,t2,t3 where t1.rn=t2.rn(+) and t2.rn=t3.rn(+) 
order by t1.rn;
      COL1       COL2       COL3
---------- ---------- ----------
         1          7         11
         2          8         12
         3          9
         4         10
         5
         6

?


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇有了SQLService的基础,轻松学习O.. 下一篇CentOS修改MySql数据库目录datadir

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: