a表  aid aname  
1    张三  
2    李四  b表  
bid  aid  bname  
没有数据  c 表  
cid  bid  cname  
没有数据  d表
did  aid bid cid dname
1      1            嘿嘿
2      1             呵呵'-------------------------------------------------
select a.*,b.*,c.* from a left join b on a.aid=b.aid left join c on c.bid=b.bid  
可以得到数据  但是我还要加一个条件
就是a.aiid = d.di 
这个条件怎么加在上面的SQL里呢?

解决方案 »

  1.   

    select a.*,b.*,c.* from a left join b on a.aid=b.aid left join c on c.bid=b.bid  legt join d on a.id=d.id
      

  2.   

    select a.*,b.*,c.*,d.* 
    from a ,b,c,d
    where a.aid=b.aid(+) and  c.bid=b.bid(+)
    and  a.aiid = d.di 结果和你的一样
      

  3.   

    select a.*,b.*,c.* from a left join b on a.aid=b.aid left join c on c.bid=b.bid join d on a.aiid = d.di  
      

  4.   

    怪我没有说清楚。
    select a.*,b.*,c.* from a left join b on a.aid=b.aid left join c on c.bid=b.bid join d on a.aiid = d.di  
    这样写会出现很多垃圾数据的。如果大家试试就会知道的
    好好想象这个查询不是很简单的。