通过MS Access例程更新SQL Server(内部联接错误)

时间:2015-09-23 15:17:14

标签: sql-server vb.net inner-join

我从MS Access中获取了一个查询,该查询通过内部联接与另一个表更新sql server表。查询通过ms访问接口完美运行。

将语法复制到vb.net并尝试通过vb.net界面运行例程时,我一直收到引用“内部”附近的关键字的错误。

以下是最简单的问题:

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];

2 个答案:

答案 0 :(得分: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];

答案 1 :(得分:0)

你加入了这个条件:

ON Table_A.FieldLink_Id = Table_B.Field_Id

但根据您的表格结构,Table_A没有名为FieldLink_Id的列。也许您应该将其更改为:

ON Table_A.Field_Id = Table_B.FieldLink_Id