需求
A左关联B,B内关联C select * from Tabl1e A left join Table2 B on a.id=b.id Inner join Table3 C on b.id1=c.id1
这样写,A表记录不能全部选取想要的效果是 A表记录全部选取,B表和C内关联后的记录,与A表进行左关联
请不吝赐教。

解决方案 »

  1.   

    select * from Tabl1e A right join Table2 B on a.id=b.id Inner join Table3 C on b.id1=c.id1
      

  2.   

    明白了 加括号
    select * from 
    Tabl1e A left join 
    (Table2 B Inner join Table3 C on b.id1=c.id1)
    on a.id=b.id 
      

  3.   

    select * from 
    Tabl1e A left join
     (SELECT * FROM Table2 B Inner join Table3 C on b.id1=c.id1)AS T
    on a.id=T.id 
      

  4.   

    or
    select * from 
    Tabl1e Table2 B Inner join Table3 C on b.id1=c.id1
    right join A
    on a.id=b.id 
      

  5.   

    select * from 
    Tabl1e A left join
     (SELECT B.*,C.ID1 AS CID FROM Table2 B Inner join Table3 C on b.id1=c.id1)AS T
    on a.id=T.id 修改一下C表的其它列,因为有相同的ID1导致的
      

  6.   

    select * from 
    Tabl1e A left join 
    (Table2 B Inner join Table3 C on b.id1=c.id1)
    on a.id=b.id 
      

  7.   

    select * from Table2 B Inner join Table3 C on b.id1=c.id1
    right join Tabl1e  A on a.id=b.id
      

  8.   

    select * from Tabl1e A left join
    (
    select B.* from Table2 B Inner join Table3 C on b.id1=c.id1
    ) b
    on  a.id=b.id