Why is LEFT JOIN causing a “multi-part identifier can't be bound” error when INNER JOIN does not?

左心房为你撑大大i 提交于 2019-12-01 02:09:47

Solved it - Access was throwing a tantrum because I'd mixed INNER and LEFT joins, even though the INNER joins were in the constituent queries that made up the larger query and should have just been outputting results. By replacing all of the INNER joins in the two Extra Fields queries, the query takes a little longer to run, but runs correctly.

SELECT [Contact Details].ContactID
FROM [Contact Details] LEFT JOIN [Extra Fields - Newsletters & Bulletins] ON [Contact Details].ContactID = [Extra Fields - Newsletters & Bulletins].ContactID LEFT JOIN [Extra Fields - Number of Employees] ON [Extra Fields - Newsletters & Bulletins].ContactID = [Extra Fields - Number of Employees].ContactID;

Remove brackets ( ) .

To make your query more readable use Aliases

 SELECT c.ContactID
 FROM [Contact Details] c 
 LEFT JOIN [Extra Fields - Newsletters & Bulletins] e
         ON c.ContactID = e.ContactID 
 LEFT JOIN [Extra Fields - Number of Employees] emp
         ON e.ContactID = emp.ContactID;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!