我从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];
答案 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