2013-12-09 77 views
-1

我们正在从基于访问的销售数据库迁移到基于SQL Server 11的数据库。目前我们使用VBA从两个数据源导入数据库,但正在转向使用Python。这两个来源使用不同的账户代码,为了解决这个问题,我们使用客户记录中指定的两个不同代码的客户表,将二级客户代码(DGS代码)映射到客户代码。此SQL语句用于使用VBA在Access中使用期望的主要客户代码更新销售数据。“关键字'INNER'附近的语法不正确”SQL服务器错误

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
Incorrect syntax near the keyword 'INNER'.

我很感激解决这个任何帮助。谢谢。

+0

的SQL Server“11”,现在正式的SQL Server 2012 ** ** –

回答

7

您正在执行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 
+0

我期待已久的解决方案,并已经看到了类似的语法,但不能完全得到它的工作。非常感谢。 – user3082801

相关问题