select a1.name,
       a2.name,
       b.name
from   b,a a1,a a2
where  b.id1=a1.id(+)
  and  b.id2=a2.id(+)

解决方案 »

  1.   

    SQL> select * from a;ID         NAME
    ---------- ----------
    1          a
    2          bSQL> select * from b;ID1        ID2        NAME
    ---------- ---------- ----------
    1          2          haha
    SQL> select (select a.name from a,b where a.id=b.id1),
      2  (select a.name from a,b where  a.id=b.id2),name from b;(SELECTA.N (SELECTA.N NAME
    ---------- ---------- ----------
    a          b          haha
      

  2.   

    select a.name,c.name,b.name  from a,a c,b where a.id=b.id1 and c.id=b.id2
      

  3.   

    如下语句可以完成:
    select c1.a_name,c2.a_name,b.b_name
      from 
      (select a.name a_name,b.name b_name
        from a,b
       where a.id=b.id1) c1,
      (select a.name a_name,b.name b_name
        from a,b
       where a.id=b.id2) c2
     where c1.b_name=c2.b_name
      

  4.   

    SQL> select * from a;       ID NAME
    --------- ----------
            1 a
            2 b
            3 cSQL> select * from b;      ID1       ID2 NAME
    --------- --------- ----------
            1         2 hahaSQL> select a.name,c.name,b.name from a,a c,b where a.id=b.id1 and c.id=b.id2;NAME       NAME       NAME
    ---------- ---------- ----------
    a          b          haha