2016-08-18 95 views
0

我有以下SQL语句:SQL的MS Access 2013

UPDATE tbl_Invoices 
SET tbl_Invoices.Base = tbl_Bases.BasePrice 
FROM tbl_Invoices 
INNER JOIN tbl_Bases ON tbl_Bases.ProductNumber = tbl_Invoices.ProductNumber 
        AND tbl_Bases.ChangeOrderID = tbl_Invoices.ChangeOrderID 
        AND tbl_Bases.CustomerName = 'VALEO' 
        AND tbl_Bases.CountryCode = 'FR' 
        AND tbl_Bases.ContractYear = 0 

访问一直告诉我,我有一个语法错误(缺少操作员)

这驱使我坚果。有人能告诉我什么是错的吗?

+0

您可以发布确切的错误信息?还有表格的DDL/DML脚本?该查询看起来一见钟情。 – NickyvV

回答

0

非常感谢。 我仍然有一个错误的=“VALEO”等等都不允许加入,但是这是工作,如果移动到WHERE子句:

UPDATE tbl_Invoices 
INNER JOIN tbl_Bases ON tbl_Bases.ProductNumber = tbl_Invoices.ProductNumber 
        AND tbl_Bases.ChangeOrderID = tbl_Invoices.ChangeOrderID 
SET tbl_Invoices.Base = tbl_Bases.BasePrice 
WHERE tbl_Bases.CustomerName = 'VALEO' 
        AND tbl_Bases.CountryCode = 'FR' 
        AND tbl_Bases.ContractYear = 0 
0

UPDATE ... FROM不访问SQL存在,在这里你做这样的:

UPDATE tbl_Invoices 
INNER JOIN tbl_Bases ON tbl_Bases.ProductNumber = tbl_Invoices.ProductNumber 
        AND tbl_Bases.ChangeOrderID = tbl_Invoices.ChangeOrderID 
        AND tbl_Bases.CustomerName = 'VALEO' 
        AND tbl_Bases.CountryCode = 'FR' 
        AND tbl_Bases.ContractYear = 0 
SET tbl_Invoices.Base = tbl_Bases.BasePrice