这一条sql哪里错了呀?

SELECT a.*,b.custom_name FROM zqwl_receipt a , zqwl_custom b LEFT JOIN b WHERE a.id= b.id

阅读 3k
6 个回答

left join的用法一般是先查询主表再join其他表的,比如

select a.*, b.custom_name from zqwl_receipt a
left join zqwl_custom b on a.id = b.id

如果你希望a、b两个表结合查询的结果再做关联查找的话,或许可以用子查询的方式

select * from (
  select a.*, b.custom_name from zqwl_receipt a, zqwl_custom b where a.id = b.id
) t
left join zqwl_custom t2 on t2.id = t.id

但是如果写出这样的语句来,最好要要思考a, b两个表的设计问题,
或者这完全就是没有必要的

SELECT zqwl_receipt.*,zqwl_custom.custom_name from xxx LEFT JOIN xxx

from a left join b on a.id=b.id

你的FROM 去哪里了

没有 from 表
没有 on 来筛选这两个表的关系。

SELECT zqwl_receipt.*,zqwl_custom.custom_name from zqwl_receipt LEFT JOIN zqwl_custom on zqwl_custom.字段= zqwl_receipt.字段 WHERE zqwl_receipt.id= zqwl_custom.id

基本语法错误

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题