zoukankan      html  css  js  c++  java
  • 引水数据--紧凑

      今天,需求量约为以下结果集紧凑:

             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

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    Telink TLSR825x系列SDK增加串口打印log功能
    Telink BDT和烧录器EVK的使用
    Telink SDK IDE开发环境中函数链接跳转异常和实际编译项目显示灰色问题的解决
    Telink SDK 的编译设置(以825x系列的一个SDK为例)
    Telink IDE的下载和SDK的导入
    Git项目管理出现 .gitignore文件不起作用的解决
    char和signed char不同编译器下的使用反思
    动态内存的分配
    结构体和联合体
    C语言中利用clock设计一个简单的定时器
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4750664.html
Copyright © 2011-2022 走看看