SQL从未分析的表以及相关表中进行选择

时间:2018-04-12 13:45:57

标签: mysql sql join left-join

我使用以下查询收到错误(#1054 - Unknown column 'post.make_id' in 'on clause'):

SELECT `post`.* 
FROM `post`, 
`city` `postCity`
LEFT JOIN `make` ON `post`.`make_id` = `make`.`id` 

如果我删除city` `postCity,则不会出错。 有没有办法让我查询city表,即使它与post表没有关系,同时左边连接其他表?

1 个答案:

答案 0 :(得分:2)

我认为你的问题是将逗号与正确的JOIN语法混合在一起。

这样做你想要的吗?

SELECT p.* 
FROM post p CROSS JOIN
     city c LEFT JOIN
     make m
     ON p.make_id = m.id;

我不确定你想要完成什么。这看起来不是特别有用,但它可能会修复您的语法错误。