我想将A表与B表和C表做个关联,查出C表中的数据,A表是主表,想让它们进行左连接,请问怎么写呢?
如果这么写,当C表中没数据时,就查不到记录了,但A中肯定是有数据的。
select * from A left join B on A.field=B.field
where B.field2=C.field2
这种东西没写过,请教高手。

解决方案 »

  1.   

    select A.* from A
    left join 
    (
      select B.* from B left join C on B.field2 = C.field2
    ) T
    on A.field = T.field
      

  2.   

    select C.* from A INNER JOIN B ON A.field=b.field INNER JOIN C ON B.field2=C.field2
      

  3.   

    select A.* from A left join B on A.field=B.field
    where B.field2 in (select field2 from C )