欢迎投稿

今日深度:

数据的挪移--变得紧凑,挪移--

数据的挪移--变得紧凑,挪移--


  现在的需求是讲下列的结果集变得紧凑:

         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

www.htsjk.Com true http://www.htsjk.com/shujukunews/7009.html NewsArticle 数据的挪移--变得紧凑,挪移-- 现在的需求是讲下列的结果集变得紧凑: 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 1...
评论暂时关闭