现有两张表张表
  表A如下:
   AID ANAME ADESC
   1   中   
    2  过
    3  恩
  表B如下:
   BID  AID  BDF
   1    1    32请问怎样用SQL语句得到:
  试图C:
  AID   ANAME BDF
  1     中     32
  2     过     空
  3     恩     空如果表B中一条数据都没有也要得到如下结果
  AID   ANAME BDF
   1    中     空
    2    过    空
   3    恩     空一条SQL解决的请帮忙!

解决方案 »

  1.   

    select a.*,b.*
    from a,b
    where a,aid=b.aid(+)
      

  2.   


    select a.aid,a.aname,b.bdf
    from a,b
    where a.aid=b.aid(+)
      

  3.   

    哦, 我还没说清楚,不好意思啊,
    其实是这样的:现有两张表张表 
      表A如下: 
       AID ANAME ADESC 
       1   中    
        2  过 
        3  恩 
      表B如下: 
       BID  AID  BDF OBJID
       1    1    32   y请问怎样用SQL语句得到: 
      试图C: 
      AID   ANAME BDF 
      1     中     32  
      2     过     空 
      3     恩     空 如果表B中一条数据都没有也要得到如下结果 
      AID   ANAME BDF 
       1    中     空  
        2    过    空  
       3    恩     空  得到结果要加条件的,条件就是 B.OBJID='y'
      

  4.   

    select a.aid,a.aname,b.bdf
    from a,b
    where a.aid=b.aid(+)
    and b.objid='y'  
      

  5.   

    不行啊, 加上这个条件在这样写的话,当B表中没数据是最后得到的也没数据了,我的要求是不管B表有没有数据一定要得到:
      AID   ANAME BDF  
       1    中     空   
        2    过    空   
       3    恩     空  
      

  6.   

    现有两张表张表 
      表A如下: 
       AID ANAME ADESC 
       1   中    
        2  过 
        3  恩 
      表B如下: 
       BID  AID  BDF 
       1    1    32 请问怎样用SQL语句得到: 
      试图C: 
      AID   ANAME BDF 
      1     中     32 
      2     过     空 
      3     恩     空 select a.AID , a.ANAME , nvl(b.bdf,'空') bdf 
    from a left join b on a.aid = b.aid
      

  7.   


    select aa.*
    from 
    (
    select a.aid,a.aname,b.bdf
    from a,b
    where a.aid=b.aid(+)) aa
    where aa.b.bdf is null
    或者你这样
      

  8.   

    这样试试:
    select a.aid,a.aname,b.bdf
    from a,(select * from b where objid='y' ) b
    where a.aid=b.aid(+)