有三张表 cb/cc/cr  cb有列req_no,name  cc有列req_no,name  cr有req_no 
查cr表信息的时候 要求 要 cb 或cc 中的列 name
咋搞

解决方案 »

  1.   

    select r.req_no,b.name,c.name from cr r,cc c,cb b where r.req_no = c.req_no and c.name = b.name;
      

  2.   

    要求  取  cb或者cc中的 一个NAME  不是两个同时取  
      

  3.   


    select r.req_no,nvl( b.name,c.name)name from cr r,cc c,cb b where r.req_no = c.req_no and c.name = b.name; 
      

  4.   

    select cr.req_no cb.name from cb,cc,cr where cb.req_no=cc.req_no and cr.req_no=cb.req_no and cb.name = cc.name;
      

  5.   

    楼主没说明根据什么条件分别取不同字段,
    假设根据CR表中的TYPE字段值进行区分
    SELECT r.req_no,
      decode(r.type,1,b.name,c.name)
    FROM cr r 
      left join cc c on r.req_no = c.req_no
      left join cb b on c.name     = b.name;
      

  6.   

    不知道楼主取CC和CB表中的NAME的条件是什么,满足怎样的条件取CC表中的NAME?或者任意取其中的一个?