怎么把一个表的同一个字段,用一条语句,按不同的条件,分别显示在同一个查询窗口.
比如说我有个表有个rq_date的日期字段,里面的日期是按顺序排列的,我需要查询结果显示两个字段rq1,rq2,rq1的内容是1-10日,rq2的内容是11-20日.
这个能实现么.

解决方案 »

  1.   

     说的是行转列吗,???
    用case试一下
      

  2.   

    不行啊,不是那个意思,就是同一个字段我要分开显示
    SELECT xinjiang_date as rq1 FROM M_XINJIANG_DATE where xinjiang_date>to_date('2012-09-01','yyyy-mm-dd') and xinjiang_date<to_date('2012-09-10','yyyy-mm-dd');
    SELECT xinjiang_date as rq2 FROM M_XINJIANG_DATE where xinjiang_date>to_date('2012-09-11','yyyy-mm-dd') and xinjiang_date<to_date('2012-09-20','yyyy-mm-dd');
    这两条sql语句查询出来的是分两次查询,分开显示的,怎么能把我这两个查询结果用一条语句一次显示出来
      

  3.   

    tony@ORCL2> create table t(rq_date date);表已创建。tony@ORCL2> insert into t
      2  select (trunc(sysdate,'mm')+rownum-1) from dual connect by rownum <= 2已创建20行。tony@ORCL2> select
      2  case when extract(day from rq_date)<=10 then rq_date else null end rq1
      3  case when extract(day from rq_date)>10 then rq_date else null end rq2
      4  from t;RQ1            RQ2
    -------------- --------------
    01-10月-12
    02-10月-12
    03-10月-12
    04-10月-12
    05-10月-12
    06-10月-12
    07-10月-12
    08-10月-12
    09-10月-12
    10-10月-12
                   11-10月-12
                   12-10月-12
                   13-10月-12
                   14-10月-12
                   15-10月-12
                   16-10月-12
                   17-10月-12
                   18-10月-12
                   19-10月-12
                   20-10月-12已选择20行。tony@ORCL2>
      

  4.   

    使用case when或者decode判断 都可以完成