“关键字'INNER'附近的语法不正确”SQL Server错误

时间:2013-12-09 16:10:57

标签: sql sql-server

我们目前正在从基于访问的销售数据数据库转移到基于SQL Server 11的数据库。目前,我们使用VBA从两个源导入数据库,但正在转向使用Python。这两个来源使用不同的帐户代码并解决此问题,我们使用客户表将二级客户代码(DGS代码)映射到客户代码,该客户表具有客户记录中指定的两个不同代码。此SQL语句用于使用VBA在Access中使用所需的主要客户代码更新销售数据。

UPDATE SalesData 
INNER JOIN Customers ON SalesData.DGSCode = Customers.DGSCode 
SET SalesData.AccCode = [Customers].[CustomerCode] 
WHERE (((SalesData.AccCode) Is Null))

但是当在Python中与SQL服务器一起使用时,它会返回错误:

  

Msg 156,Level 15,State 1,Line 2
  关键字“INNER”附近的语法不正确。

感谢您解决此问题的任何帮助。感谢。

1 个答案:

答案 0 :(得分:8)

您正在执行MySQL的语法。这是SQL Server

UPDATE SalesData 
SET    SalesData.AccCode = Customers.CustomerCode
FROM   SalesData 
       INNER JOIN Customers 
          ON SalesData.DGSCode = Customers.DGSCode
WHERE  SalesData.AccCode Is Null