2013-12-09 57 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

相關問題