【发布时间】:2014-02-28 07:55:25
【问题描述】:
尝试在 Access 2010 中运行以下 SQL 查询时,我收到错误“无法绑定多部分标识符 'MS2.ExtraValueID'”。
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;
ExtraValueID 出现在两个“Extra Value...”查询的 WHERE 子句中,但不输出。
查看几年前的this question,这表明这可能是由于拼写错误。但是,我看不出上面的 SQL 有什么问题,这表明构成这个更大查询的单个查询之一是错误的。
但是,每个查询单独运行良好,如果我只尝试将其中一个 Extra Fields 表连接到它,它就可以正常工作。我认为与号可能会导致问题,但是用“and”替换它们,或者完全删除它们没有任何区别。
如果我用INNER JOINs 替换LEFT JOINs,它的工作原理是它返回结果,但不是我想要的结果,因为我应该返回联系人详细信息中的所有结果,无论两者中是否有匹配的记录是否有额外字段表。
SELECT [Contact Details].ContactID, [Contact Details].[Client Code], [Extra Fields - Newsletters & Bulletins].Newsletters, [Extra Fields - Number of Employees].[Number of Employees]
FROM ([Contact Details] INNER JOIN [Extra Fields - Newsletters & Bulletins] ON [Contact Details].ContactID = [Extra Fields - Newsletters & Bulletins].ContactID) INNER JOIN [Extra Fields - Number of Employees] ON [Extra Fields - Newsletters & Bulletins].ContactID = [Extra Fields - Number of Employees].ContactID;
【问题讨论】:
标签: sql ms-access ms-access-2010