有两个table 都有ID字段
每个table的ID字段都是从1开始现在需要UION两个table后ID字段从1开始顺序

解决方案 »

  1.   

    SQL>        select *
      2           from (select 2 as A, '2007-01-01' as B
      3                   from dual
      4                 union all
      5                 select 3 as A, '2007-01-01' as B
      6                   from dual
      7                 union all
      8                 select 1 as A, '2007-01-01' as B
      9                   from dual
     10                 union all
     11                 select 2 as A, '2007-01-02' as B
     12                   from dual
     13                 union all
     14                 select 5 as A, '2001-01-02' as B
     15                   from dual
     16                 union all
     17                 select 6 as A, '2001-01-10' as B
     18                   from dual
     19                 union all
     20                 select 1 as A, '2007-01-11' as B from dual)
     21          order by 1;---------result---------------         A B
    ---------- ----------
             1 2007-01-01
             1 2007-01-11
             2 2007-01-01
             2 2007-01-02
             3 2007-01-01
             5 2001-01-02
             6 2001-01-107 rows selected
      

  2.   

    是这样吗?SQL>       select rownum, zz.*
      2          from (select tt.*
      3                  from (select 2 as A, '2007-01-01' as B
      4                          from dual
      5                        union all
      6                        select 3 as A, '2007-01-01' as B
      7                          from dual
      8                        union all
      9                        select 1 as A, '2007-01-01' as B
     10                          from dual
     11                        union all
     12                        select 2 as A, '2007-01-02' as B
     13                          from dual
     14                        union all
     15                        select 5 as A, '2001-01-02' as B
     16                          from dual
     17                        union all
     18                        select 6 as A, '2001-01-10' as B
     19                          from dual
     20                        union all
     21                        select 1 as A, '2007-01-11' as B from dual) tt
     22                 order by 1) zz;---------------result----------------------    ROWNUM          A B
    ---------- ---------- ----------
             1          1 2007-01-01
             2          1 2007-01-11
             3          2 2007-01-01
             4          2 2007-01-02
             5          3 2007-01-01
             6          5 2001-01-02
             7          6 2001-01-107 rows selected