SELECT * FROM TABLE1 WHERE EXISTS (SELECT 1 FROM TABLE4 WHERE TABLE4.NAME = TABLE1.NAME) 
UNION
SELECT * FROM TABLE2 WHERE EXISTS (SELECT 1 FROM TABLE4 WHERE TABLE4.NAME = TABLE2.NAME)

解决方案 »

  1.   

    select distinct d.name from table1 a,table2 b,table3 c,table4 d where a.id=b.parentid and b.id=c.parentid and c.id=d.parentid and a.name=name1 and b.name=name2
      

  2.   

    搞不懂,表结构一样,同为父子关系,为何要用4个表保存数据,难道4个表关联查询比一个表用connect by 要快?
      

  3.   

    to: duanzilin(寻)
    呵呵,不好意思,让你误会了。这四个表我之列出了部分字段