vfp 用一个数据表的数据替换另一个数据表

shiyuzhan 2015-06-25 01:55:29
有两个表如下:
B1:
DM Cp SL
001 A 200
002 B 0
003 C 0
004 D 0
005 E 150
006 F 0
007 G 0


B2
DM CP SL
001 A 500
002 B 100
003 C 180
004 D 120
005 E 100
我要把B2的SL更新到B1的SL中,只替换B1中SL=0的数据,B!1.DM=B2.DM,用vfp6.0做?
谢谢!
...全文
1170 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2015-07-03
  • 打赏
  • 举报
回复
*--vfp9.0:
update B1 set B1.sl=b2.sl from b2 where b1.dm=b2.dm and b1.sl=0

*--vfp6.0
use b2
scan
update B1 set B1.sl=b2.sl  where b1.dm=b2.dm and b1.sl=0
endscan
xilaianzxsc 2015-06-29
  • 打赏
  • 举报
回复
如果你用的是VFP 9 那就是下面一条命令 update B1 set B1.sl=b2.sl from b2 where b1.dm=b2.dm and b1.sl=0 VFP6,我以前也折腾过, 自从有了9.0,就直接挑简单的命令使用了。 建议你:立即升级到9.0
shiyuzhan 2015-06-28
  • 打赏
  • 举报
回复
十分感谢!我在给分结贴过程中,总是出现连接不上服务器,已经尝试两天了,我再继续尝试。再次感谢!
xuzuning 2015-06-25
  • 打赏
  • 举报
回复
create cursor b1 (DM c(3), Cp c(1), SL n(5.0))
insert into b1 values ('001', 'A', 200)
insert into b1 values ('002', 'B', 0)
insert into b1 values ('003', 'C', 0)
insert into b1 values ('004', 'D', 0)
insert into b1 values ('005', 'E', 150)
insert into b1 values ('006', 'F', 0)
insert into b1 values ('007', 'G', 0)

create cursor b2 (DM c(3), Cp c(1), SL n(5.0))
insert into b2 values ('001', 'A', 500)
insert into b2 values ('002', 'B', 100)
insert into b2 values ('003', 'C', 180)
insert into b2 values ('004', 'D', 120)
insert into b2 values ('005', 'E', 100)
index on dm to dm &&子表一定要有索引

select b1
set rela to dm into b2 &&关联两表
repl sl with b2.sl for b1.dm=b2.dm and b1.sl=0
brow

2,718

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧