Access SQL查询内部联接中的语法错误
我用MS Access SQL编写了以下查询:Access SQL查询内部联接中的语法错误,sql,syntax-error,inner-join,ms-access-2010,Sql,Syntax Error,Inner Join,Ms Access 2010,我用MS Access SQL编写了以下查询: UPDATE [B-K Data] SET [Supplier 1] = [PNTestImport].[MFR], [Supplier 1 order no] = [PNTestImport].[MFR_PN] FROM [PNTestImport] INNER JOIN [BK-Analogic-PN-CDB2006-import] on [B-K Data].[B-K no] = [BK-Analogic-PN-CDB2006-import]
UPDATE [B-K Data]
SET [Supplier 1] = [PNTestImport].[MFR], [Supplier 1 order no] = [PNTestImport].[MFR_PN]
FROM [PNTestImport]
INNER JOIN [BK-Analogic-PN-CDB2006-import] on [B-K Data].[B-K no] = [BK-Analogic-PN-CDB2006-import].[BK PN]
INNER JOIN [PNTestImport] on [PNTestImport].[ITEM_NUMBER] = [BK-Analogic-PN-CDB2006-import].[Analogic PN];
我尝试运行查询时出现语法错误,但没有确定问题所在
在谷歌搜索错误时,我发现其他人也有类似的问题,但没有有效的答案。我在这里做错了什么?在ms access中,您需要在表单子句的后面加上括号()和join
UPDATE [B-K Data]
SET [Supplier 1] = [PNTestImport].[MFR], [Supplier 1 order no] = [PNTestImport].[MFR_PN]
FROM (( [PNTestImport]
INNER JOIN [BK-Analogic-PN-CDB2006-import] on
[B-K Data].[B-K no] = [BK-Analogic-PN-CDB2006-import].[BK PN])
INNER JOIN [PNTestImport] on
[PNTestImport].[ITEM_NUMBER] = [BK-Analogic-PN-CDB2006-import].[Analogic PN]);
Access
UPDATE
子句中没有FROM
。表直接在更新之后指定:
更新[B-K数据]
[B-K数据][B-K编号]=[BK-Analogic-PN-CDB2006-import]上的内部联接[BK-Analogic-PN-CDB2006-import]。[BK-PN]
[PNTestImport].[ITEM_NUMBER]=[BK-Analogic-PN-CDB2006-import].[Analogic PN]上的内部联接[PNTestImport]
设置[供应商1]=[PNTestImport].[MFR],[供应商1订单号]=[PNTestImport].[MFR\U PN]
注意,这也意味着所有表都可以在单个UPDATE
子句中编辑,并且所有表都必须是可写的。连接也不能有歧义,这可能会导致许多匹配出现问题。请完整引用错误。不建议在数据库对象名称中使用空格,但如果您记住始终包含[括号]
(这已经是一个不应该这样做的要点),但是,假设你不小心键入了双空格,然后花了几个小时才找到错误所在。打开所有编译器警告。对于编译器错误,将代码切碎,直到确定并添加回。运行时查找并显示输入和输出,直到程序未处于预期状态的第一个点。阅读语法和手册。显示组成子表达式是正确的。(调试基础。)对于代码问题,给出一个。在考虑发帖之前,请阅读本手册,谷歌搜索任何错误信息,以及关于您的问题/问题/目标的许多清晰、简洁和准确的措辞,包括或不包括您的特定姓名/字符串/数字,“site:stackoverflow.com”和标签;阅读许多答案。