如何解决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];
当谷歌搜索错误时,我发现其他有类似问题但没有有效的答案。我在这里做错了什么?
解决方法
Access FROM
子句中没有 UPDATE
。表直接在 UPDATE
之后指定:
UPDATE [B-K Data]
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]
SET [Supplier 1] = [PNTestImport].[MFR],[Supplier 1 order no] = [PNTestImport].[MFR_PN]
请注意,这也意味着所有表都可以在单个 UPDATE
子句中编辑,并且所有表都必须是可写的。也不能通过连接产生歧义,这会导致多对多匹配的问题。
在 ms access 中,您需要 () 括号 ro 带连接的表单子句
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]);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。