表a,b,c
a包含列id,tt
b包含列id,name,rr
c包含列name,qq我可以生成一个这样的表吗?
a.id, a.tt, b.name, b.rr, c.qq
我想法是a左连(b左连c),但是不行求教!!谢谢!!

解决方案 »

  1.   

    select a.id, a.tt, b.name, b.rr, c.qq
    from b
    left join a on b.id =a.id
    left join c on c.name =b.name没出来主要是数据问题。
      

  2.   

    ;with t
    as(
    select b.id,b.name,b.rr,c.qq from b left join c on b.name=c.name
    )
    select a.id,a.tt,t.name,t.rr,t.qq
    from a left join  t
    on a.id=t.id
      

  3.   

    这不对啊不是b左连a啊,我最后要a做主表的
      

  4.   

    select a.id, a.tt, b.name, b.rr, c.qq 
    from a left join (b left join c on b.name=c.name) on a.id=b.id其实直接按顺序写就可以
    select a.id, a.tt, b.name, b.rr, c.qq 
    from a left join b on a.id=b.id left join c on b.name=c.name因为如果b表不存在的数据,c表肯定也没有对应值,结果还是null
      

  5.   

    --莫非你是SQL Server2000???select a.id,a.tt,t.name,t.rr,t.qq
    from a 
    left join (select b.id,b.name,b.rr,c.qq from b left join c on b.name=c.name) t
    on a.id=t.id