select * from a join b on a.bid=b.id join d on a.did=d.id join e on a.eid=e.id join c on b.cid=c.id

解决方案 »

  1.   

    Select  * from a 
    join b on a... = b...
    join c on b... = c...
    join d on a... = d...
    join e on a... = e...
      

  2.   

    select a.xx,....
    from a inner join b
    on a.xx=b.xx...
    inner join c
    on c.xx=b.xx....
    inner join d...
    on a.xx=d.xxx
    inner join e
    on a.xx=e.xx....
      

  3.   


    select * from a
      join d on a.xx=d.xx
      join e on a.xx=e.xx
      join (select * from b join c on b.xx=c.xx) b on a.xx=b.xx
      

  4.   

    怒!
    我刚才费好大劲画的都没了!:'(
    a
    |
    ˇ
    b <----d
    |      |
    ˇ     ˇ
    c      e这个怎么写啊?
      

  5.   

    还是这样
    select * from a join b on a.bid=b.id join d on a.did=d.id join e on a.eid=e.id join c on b.cid=c.id你要说哪个是主表,呵呵。
      

  6.   

    sp1:select * from a join b on a.bid=b.id join d on b.did=d.id join e on d.eid=e.id join c on b.cid=c.id
      

  7.   

    大力,你搞错了吧?
    我的那个图里,d和a一样,都有bid
    应该是join d on d.bid = b.id差不多。
    可我这出错了:(
      

  8.   

    应该是
    select * from a join b on a.bid=b.id join d on d.bid=b.id join e on d.eid=e.id join c on b.cid=c.id老大,我可不是那么写的嘛,然后他出错,他说
    列名id(就是b.id)无效。由于里面b.id用了2次,我分不清哪个算错的了。
      

  9.   

    select * from a 
      join b on a.bid=b.id 
      join d on d.bid=b.id 
      join e on d.eid=e.id 
      join c on b.cid=c.id没有问题,除非你是在视图或子查询里用了,如果是的话你把 select * 改为 select a.xx,b.yy....
      

  10.   

    555555555
    我写了表名了,
    我用了select a.*, b.xxx, c.xxx from...
      

  11.   

    select a.id,b.id from a 
    ------^^^^^^^^^^^这就会错!应为有两个id,列名一样了select a.id,b.id id2 from a 
    ---------------^^^^^这里用别名来屏蔽这个错误
      

  12.   

    不是的。
    错误不在那。我也怀疑过是那个问题,所以后来我只输出了那个表的一个(其他的)字段,不用x.xx了。
    可还是这个错误。那个列名在on xxxxx的条件里。
    那个什么b.id = 。。不是用了2次吗?
    就在第二次那出问题了。怎么屏蔽类似这个却在条件语句里的错误啊?