select a.编号,a.姓名,a.安装人姓名,b.设计人姓名 from a,b where a.设计人编号 *=b.人员编号

解决方案 »

  1.   

    select a.编号,a.姓名,B1.安装人姓名,B2.设计人编号 from A, B B1,B B2
    where a.安装人编号=B1.人员编号(+)
    and a.设计人编号=B2.人员编号(+)
      

  2.   

    你们的答案都是错误的.
    GerryYang(轻尘) :
    你考虑一下,
    a
    1,table1,1,null
    2,table2,2,2
    3,table3,2,null
    b.
    1,jin
    2,bao
    3,tang
    如果出现这样的情况,
    结果只能是
    2,table2,bao ,bao
    而不是正确的答案
    正确的应该是
    1,table1,jin,null
    2,table2,bao,bao
    3,table3,bao,null
      

  3.   

    select a.编号,a.姓名,B1.安装人姓名,B2.设计人编号 from A, B B1,B B2
    where a.安装人编号=B1.人员编号(+)
    or a.设计人编号=B2.人员编号(+)条件用or就行了。
      
      

  4.   

    这种情况最好是写一个函数,输入人员编号,输出人员姓名;如果输入是null,输出也是null。
    f_get_name(v_i_id varchar2):return varchar2;select 编号,姓名,安装人编号,f_get_name(安装人编号) as 安装人姓名,设计人编号,f_get_name(设计人编号) as 设计人姓名,
    from a;