把一张表中的数据导到另一张表中?

csdnxhb1 2005-05-04 11:19:22
大侠们:
我有两张表jsj1 和1 ,jsj1和1表均有cj字段
我想给jsj1的cj赋值成1的cj,条件是jsj1的准考证号和1的准考证号相同
我这样写是错的为何?
use jsj1
use 1
replace all jsj1.cj with 1.cj for jsj1.zkzh=1.zkzh
...全文
280 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2005-06-06
  • 打赏
  • 举报
回复
如果是VFP9,一句搞定:

UPDATE jsj1 SET jsj1.cj=1.cj FROM jsj1,1 WHERE jsj1.zkzh=1.zkzh
zjingl 2005-06-06
  • 打赏
  • 举报
回复
笨蛋。
怎能用 1 做表名呢?这样会与数据工作区号相冲突,为何不用其 ABC 做表名呢?
zjingl 2005-06-05
  • 打赏
  • 举报
回复
select 0
use 1
select 0
use jsj1
go top
do while not eof()
select 1
locate for zkzh =jsj1.zkzh
if found()=.t.
replace jsj1.cj with 1.cj
endif
select jsj1
skip
enddo
dangxuehua 2005-06-05
  • 打赏
  • 举报
回复
只能更新一条记录而已
chinacheng07 2005-05-09
  • 打赏
  • 举报
回复
use jsj1
replace all jsj1.cj with 1.cj for jsj1.zkzh=1.zkzh
可以了
aloneone 2005-05-09
  • 打赏
  • 举报
回复
"jsj1的cj赋值成1的cj,条件是jsj1的准考证号和1的准考证号相同":
update 是一SQL语句可以直接用:
update jsjl set jsjl.cj=l.cj where jsjl.zkzh=l.zkzh
jim98816 2005-05-08
  • 打赏
  • 举报
回复
佩服了,楼上的很精准
shenyegh 2005-05-06
  • 打赏
  • 举报
回复
use jsj1
use 1
replace all jsj1.cj with 1.cj for jsj1.zkzh=1.zkzh
上述代码仅打开了1,而jsj1数据库已经被关闭,所以你的第三行代码肯定会出错,你可能试试下列代码:
sele a
use 1
sele b
use jsj1
replace all cj with a->cj for zkzh=a->zkzh

十豆三 2005-05-06
  • 打赏
  • 举报
回复
把楼上的代码放入一个PRG程序中执行,就可以了。
  • 打赏
  • 举报
回复
sele a
use 1
sele b
use jsj1
replace all cj with a->cj for zkzh=a->zkzh

LAIYANGPJ 2005-05-04
  • 打赏
  • 举报
回复
没问题,楼上是可以的。
csdnxhb1 2005-05-04
  • 打赏
  • 举报
回复
好像不行
在命令窗口用scan出现改命令不能在交互方式下运行
zhonghuashen 2005-05-04
  • 打赏
  • 举报
回复
或者
USE jsjl
scan
update l set cj=jsjl.cj where zkzh=jsjl.zkzh
endscan
行不??
zhonghuashen 2005-05-04
  • 打赏
  • 举报
回复
replace all jsj1.cj with 1.cj for jsj1.zkzh=1.zkzh?????行吗
zhonghuashen 2005-05-04
  • 打赏
  • 举报
回复
sele jsjl

scan
scatter memvar
update l set cj=m.cj where zkzh=m.zkzh

endscan

2,723

社区成员

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

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