我的数据库中有两个表。我正在尝试通过将table2中的列设置为等于table1中的列之一来更新它。我已经看过这个答案visual foxpro - need to update table from another table 并尝试在我的代码上执行此操作,但是,我在UPDATE table2上始终出现语法错误。为什么? 这就是我所拥有的。
ALTER TABLE table2;
ADD COLUMN base2 B(8,2);
UPDATE table2
WHERE table2.itemid=table1.itemid from table1;
SET table2.base2=table1.base;
答案 0 :(得分:1)
最简单的语法是:
update table2 from table1 where table2.itemid = table1.itemid ;
set table2.base2 = table1.base
您还可以添加更多字段来更新,以逗号分隔,即
... set table2.base2 = table1.base, table2.this = table1.that
答案 1 :(得分:0)
使用加入
Update table2 b
Join table1 a on b. Itemid=a.itemid
Set b. Base2=a.base
答案 2 :(得分:0)
使用“标准” VFP语言语法和“相关表”,您可以轻松地执行以下操作:
USE Table1 IN 0 EXCLUSIVE
SELECT Table1
INDEX ON ID TAG ID && Create Index on ID field
USE Table2 IN 0
SELECT Table2
SET RELATION TO ID INTO Table1
REPLACE ALL Table2.ID WITH Table1.ID FOR !EMPTY(Table2.ID)
您可能想花一些时间在Learn Visual Foxpro @ garfieldhudson.com
上观看免费的在线教程视频。
名为:
的视频
*构建简单的应用程序-Pt。 5
和
*问答:在报表中使用相关表
双方都讨论了使用VFP语言与“相关表”一起使用
祝你好运