MySQL 左连接错误

2023-11-30

我有一些 SQL 曾经适用于较旧的 MySQL 版本,但升级到较新的 MySQL 5 版本后,出现错误。这是 SQL:

SELECT portfolio.*, projects.*, types.*
FROM projects, types
LEFT JOIN portfolio
ON portfolio.pfProjectID = projects.projectID
WHERE projects.projectType = types.typeID AND types.typeID = #URL.a#
ORDER BY types.typeSort, projects.projectPriority ASC

以及我收到的新错误:

Unknown column 'projects.projectID' in 'on clause'

如何将其转换为与较新的 MySQL 版本兼容的 SQL?

非常感谢!


您编写查询的方式,编译器认为您想要左连接portfolio to types,所以它抱怨你的on条款引用了projects table.

试试这个 ANSI 风格的版本:

SELECT * 
FROM projects p
inner join types t on p.projectType = t.typeID AND t.typeID = #URL.a#
LEFT JOIN portfolio pf ON pf.pfProjectID = p.projectID 
ORDER BY t.typeSort, p.projectPriority
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 左连接错误 的相关文章

随机推荐