有三个表  EM_HOUSE_T ,EM_FLAT_LOC_T  , EM_LOCATION_T  EM_HOUSE_T  有一列 HOUSE_ID EM_FLAT_LOC_T 表只有两列   就是HOUSE_ID  ,  LOCATION_IDEM_LOCATION_T表中有两列  LOCATION_ID,  LOCATION_NAMEEM_FLAT_LOC_T.HOUSE_ID=EM_HOUSE_T,          EM_LOCATION_T.LOCATION_ID=EM_FLAT_LOC_T.LOCATION_ID
我要的效果就是把EM_HOUSE_T表的HOUSE_ID全部差出来  并且根据这些 HOUSE_ID 把它相对应的 LOCATION_NAME 查出来 就是把查询结果显示在一个结果集里面  用一条查询语句。  谢谢 谢谢

解决方案 »

  1.   

    select a.house_id,c.LOCATION_NAME from EM_HOUSE_T a,EM_FLAT_LOC_T b,EM_LOCATION_T c
    where a.house_id =b.house_id(+) and b.LOCATION_ID=c.LOCATION_ID;
      

  2.   

    select a.house_id,b.LOCATION_NAME
    from EM_HOUSE_T a, (select a.HOUSE_ID,b.LOCATION_NAME from EM_FLAT_LOC_T a,EM_LOCATION_T b where a.location_id=b.location_id) b
    where a.house_id=b.house_id(+)  
      

  3.   

    (+)是外连接的标志。
    写右边为左外连接,相当于 from a left join b
    写左边为右外连接,相当于 from a right join b