求一查询语句,有A,B,C三个数据表,现在以A表做目录,查询时同时在A,B,c三表中进行,但是内容可能在B表中,也可能在C表中,还有可能B,C表中各有一部分,现想将三表中的数据符合条件的数据同时显示出来,不知道此SQL语句要怎么写,请大家帮下忙好吗??谢谢!!!

解决方案 »

  1.   

    用联合查询select * from ((select b.id,b.name from a,b where a.id=b.id) union (select c.id,c.name from a,c where a.id=c.id)) temtable
      

  2.   

    select b.id,b.name from a left outer join b on a.id=b.id
    union 
    select c.id,c.name from a left outer join c on a.id=c.id
    union
    select b.id,c.name from a left outer join b on a.id=b.id left outer join c on a.name=c.name
      

  3.   


    select a.*,b.*,c.* from A a
    Left Join B b on a.id=b.id
    Left Join C c on a.id=c.id
      

  4.   

    使用视图可以解决这个问题.如果有重复的记录的话可以使用dataview过滤来实现