有4个表做查询
select count(1)
from A,B
left join D on D.d=B.d
--left join C on C.c=A.c
where A.a=B.a第二个被注释掉的左联如果加上,会报错,求告诉解决办法,应该很简单,只是偶不懂

解决方案 »

  1.   

    from 后多个表再用left join
    on条件只能识别from最后一个表的字段很那看的写法
    既然用join连接,就不要在from 后加多个表,还用where做连接改为全部用join
    select count(1)
    from A
    inner join B on A.a=B.a
    left join D on D.d=B.d
    left join C on C.c=A.c
    ;
      

  2.   

    有报什么错误吗?
    语法应该是没问题的。
    会不会是 表C 和表A的c字段类型不一致 差异比较大
      

  3.   

    2楼的做法,或者:select count(1)
    from A
    left join C on C.c=A.c,
    B
    left join D on D.d=B.d
    where A.a=B.a