foxpro中怎么用一个表中的数据替换另一个表中的数据,条件是表1字段中的数据小于表2字段中的数据

foxpro中怎么用一个表中的数据替换另一个表中的数据,条件是表1字段中的数据小于表2字段中的数据时,才把表1字段数据替换成表2字段的数据,表1有字段a,b表2有字段c,d……通过ac关联来查找bd,如果b小于d,则把b替换成d,否则不替换

update a from 表1 a,表2 b set a.b=a.d where a.a=b.c and a.b<b.d

vfp9可行,
不能保证vfp6能用。追问

这个要在数据库里运行吗

追答

数据库先打开。然后在命令窗口运行。如果出现不能识别的命令谓语错误就表示不支持这个语句。只能用其他方法

追问

代码写错了吧,您给解释下代码意思吧,我自己改改

追答

srlect 表1
scan
select 表2
locate for c=表1.a
if found()
if 表1.b<d
select 表1
replace b with 表2.d
endif
endif
endscan

update我写的是vfp9的写法。vfp6应该不支持。你还是用我发的第二个方法吧

追问

它把所有的都替换成了第一条查找到的记录

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-09
长点啊
第2个回答  2015-12-09
长点啊?大大大大大大爸爸爸爸,乌龟跟迩说真的吗?