写串行了~~是下面的:
id1 name1 id2 name2 id3 name3
1   a      4   d      6    f
2   b      5   e      7    g
3   c

解决方案 »

  1.   

    select aaa.id1,aaa.name1,aaa.id2,aaa.name2,cc.id3,cc.name3 
    from 
              (select aa.num1, aa.id1,aa.name1,bb.id2,bb.name2
              from (select rownum num1,a.id1,a.name1 from a) aa
              left join 
                   (select rownum num2,b.id2,b.name2 from b) bb
                   on aa.num1=bb.num2
              union 
              select aa.num1,aa.id1,aa.name1,bb.id2,bb.name2
              from (select rownum num2,b.id2,b.name2 from b) bb
              left join 
                   (select rownum num1,a.id1,a.name1 from a) aa
                   on aa.num1=bb.num2) aaa
         left join
         (select rownum num3,c.id3,c.name3 from c) cc
         on aaa.num1=cc.num3不好意思,太仓促了,可能没写完,适合c表数据量少于a,b的情况,楼主自己参考一下
      

  2.   

    select r1.*, r2.*, r3.* from
    (select rownum r,* from a) r1,
    (select rownum r,* from b) r2,
    (select rownum r,* from c) r3
    where r1.r = r2.r(+) and r2.r = r3.r(+)
    union
    ...
    没测试, 有些小问题lz再调整调整
      

  3.   

    select id1,name1,id2,name2,id3,name3 from 
    (select rownum n1,id1,name1 from tba) a,(select rownum n2,id2,name2 from tbb) b,(select rownum n3,id3,name3 from tbc) c
    where a.n1=b.n2(+) and b.n2=c.n3(+)
    唉,没好好看别人的贴,写完发现和楼上的一样:(
    我也没有测试,家里没有oracle