Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Access SQL查询内部联接中的语法错误_Sql_Syntax Error_Inner Join_Ms Access 2010 - Fatal编程技术网

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]

我用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].[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”和标签;阅读许多答案。