SELECT a.C1, b.C1
FROM (SELECT Rownum r, a.*
FROM (SELECT Decode(MOD(Rownum,
2),
0,
Tname,
NULL) C1
FROM Tab) a
 WHERE a.C1 IS NOT NULL) a,
 (SELECT Rownum r, b.*
FROM (SELECT Decode(MOD(Rownum,
2),
0,
NULL,
Tname) C1
FROM Tab) b
 WHERE b.C1 IS NOT NULL) b
 WHERE a.r = b.r(+)

解决方案 »

  1.   

    重贴,上面的太难看
    SELECT a.C1, b.C1
    FROM (SELECT Rownum r, a.*
    FROM (SELECT Decode(MOD(Rownum,2),0,Tname,NULL) C1 FROM ab) a
            WHERE a.C1 IS NOT NULL) a,
                  (SELECT Rownum r, b.*
    FROM (SELECT Decode(MOD(Rownum,2),0,NULL,Tname) C1 FROM Tab) b
          WHERE b.C1 IS NOT NULL) b
    WHERE a.r = b.r(+)
      

  2.   

    select 
        decode(mod(rm,2),1,hrname,null) 1_hrname,
        decode(mod(rm,2),0,hrname,null) 2_hrname,
    from 
    (
        select 
           rownum rm,
           a.hrname hrname
        from 
            tbhrname a
    )   1_hrname(奇)    2-hrname(偶)
       aa        
                        bb
       cc           
                        dd
       ee
      

  3.   

    应该是SELECT a.C1, b.C1
    FROM (SELECT Rownum r, a.*
    FROM (SELECT Decode(MOD(Rownum,2),0,NULL,Tname) C1 FROM ab) a
            WHERE a.C1 IS NOT NULL) a,
                  (SELECT Rownum r, b.*
    FROM (SELECT Decode(MOD(Rownum,2),0,Tname,NULL) C1 FROM Tab) b
          WHERE b.C1 IS NOT NULL) b
    WHERE a.r = b.r(+)