我有一些 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(使用前将#替换为@)