2015-09-23 62 views
1

我已經從MS Access中獲取了一個查詢,該查詢通過與另一個表的內部聯接來更新sql server表。查詢通過ms訪問接口完美工作。通過MS Access例程更新SQL Server(內部連接錯誤)

將語法複製到vb.net並嘗試通過vb.net接口運行例程時,我不斷收到一個引用「Inner」附近的關鍵字的錯誤。

以下是在最簡單的形式的問題:

Table_A: 
Field_Id (Auto) 
FieldX_Id (Integer) 

Table_B: 
Field_Id (Auto) 
FieldX_Id (Integer) 
FieldLink_Id (Integer) 

實施例:

Table_A: 

Field_Id = 1 

FieldX_Id = 0 

Table_B: 

Field_Id = 2 

FieldX_Id = 1234 

FieldLink_Id =1 

對象:

從查詢
Update Table_A (Set FieldX_Id = 1234) 

語法:

UPDATE Table_A 
INNER JOIN Table_B 
ON Table_A.FieldLink_Id = Table_B.Field_Id 
SET Table_A.FieldX_Id = [Table_B].[FieldX_Id]; 

回答

0

使用此語法UPDATE

UPDATE ta 
SET FieldX_Id = tb.[FieldX_Id] 
FROM Table_A ta 
JOIN Table_B tb 
    ON tb.FieldLink_Id = ta.[Field_Id]; 
0

你在條件加盟:

ON Table_A.FieldLink_Id = Table_B.Field_Id 

但根據你的表結構,Table_A沒有一個叫FieldLink_Id列。也許你應該改變它:

ON Table_A.Field_Id = Table_B.FieldLink_Id