应该这么写。select A.aa,B.bb,C.cc from A,B,C
where A.aa(+) = B.aa
  and A.aa(+) = C.aa

解决方案 »

  1.   

    select A.aa,nvl(B.bb,'0') bb,nvl(C.cc,'0') cc from A,B,C
    where A.aa = B.aa(+)
      and A.aa = C.aa(+)
      

  2.   

    这样可能会很慢select d.da,d.db,nvl(c.cc,0) from (select a.aa da,nvl(b.bb,0) db from a,b where a.aa=b.aa(+) d),c where d.da=c.aa(+);
      

  3.   

    这样一定行了。select d.aa,d.bb,c.cc from 
      (select a.aa,b.bb from a,b where a.aa = b.aa(+)) d,c
    where d.aa = c.aa(+)
      

  4.   

    这样子查询做关联会慢吧
    没有left join真不好用呀
      

  5.   

    select A.aa,(select B.bb from b where b.aa=a.aa),(select C.cc from c where c.aa=a.aa) from A
      

  6.   

    向beckhambobo(beckham) 老兄这么写可以,但是我的A表、B表、C表关联,一定要写到where条件中,如何写?谢谢各位!
      

  7.   

    你试一下:
    select 
      A.aa,
      decode(B.bb,null,0,B.bb),
      decode(C.cc,null,0,C.cc) 
    from A,B,C
    where A.aa = B.aa(+)
      and A.aa = C.aa(+)这样应该可以的,我们都这么做,我们用的也是oracle9i.