询问一简单UPDATE语句

mahongxi 2004-10-15 11:17:51
表1
T_JHK.DBF
ZYDH ZYMC
------- ---------
1 abc
2 def
3 xyx
表2
T_TDD.DBF
PKID LQZY ZYMC
---- ------- --------
1 2
2 3
3 1


想表2中的LQZY与表1中的ZYDH做为关联,更新表2中的ZYMC为表1中的ZYMC值

期待结果

表2
T_TDD.DBF
PKID LQZY ZYMC
---- ------- --------
1 2 def
2 3 xyz
3 1 abc

谢谢各位
我的以下偿试均以失败告终:
update t_tdd.dbf t1,t_jhk.dbf t2 set t1.zymc=t2.zymc where t1.lqzy =t2.zydh
update t_tdd.dbf set zymc = (select zymc from t_jhk.dbf where zydh=lqzy)
...全文
200 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2004-10-19
  • 打赏
  • 举报
回复
不客气
mahongxi 2004-10-18
  • 打赏
  • 举报
回复
采用了apple_8180(十豆三) 的方案,谢谢啦。
十豆三 2004-10-16
  • 打赏
  • 举报
回复
方法一:我已在VFP6和VFP8中测试通过。
close data
use T_JHK
scan
UPDATE T_TDD SET T_TDD.ZYMC=T_JHK.ZYMC WHERE T_TDD.LQZY=T_JHK.ZYDH
endscan
close data

方法二:( yestoyes兄的方法,我也在VFP6和VFP8中测试通过。)
close data
CLEAR ALL
USE t_jhk EXCLUSIVE
INDEX ON zydh TAG tjhk
USE t_tdd IN 0
SELECT t_tdd
SET RELATION TO lqzy INTO t_jhk
REPLACE ALL zymc WITH t_jhk.zymc
close data

注:把以上代码建立一个PRG程序来执行。
替换完成后,
use t_tdd
brow &&看一下,就是你的结果。
yestoyes 2004-10-16
  • 打赏
  • 举报
回复
很多时候我们只是为了达到目的,我的代码是经过测试完全能符合楼主要求的
十豆三 2004-10-15
  • 打赏
  • 举报
回复
对不起,问题没看清,应该是:
use T_JHK
scan
UPDATE T_TDD SET T_TDD.ZYMC=T_JHK.ZYMC WHERE T_TDD.LQZY=T_JHK.ZYDH
endscan
yestoyes 2004-10-15
  • 打赏
  • 举报
回复
CLEAR ALL
USE t_jhk EXCLUSIVE
INDEX ON zydh TAG tjhk
USE t_tdd IN 0
SELECT t_tdd
SET RELATION TO lqzy INTO t_jhk
REPLACE ALL zymc WITH t_jhk.zymc
十豆三 2004-10-15
  • 打赏
  • 举报
回复
在VFP中是这样使用的:
use T_JHK
scan
UPDATE T_TDD SET T_TDD.ZYMC=T_JHK.ZYMC WHERE T_TDD.PKID=T_JHK.ZYDH
endscan
十豆三 2004-10-15
  • 打赏
  • 举报
回复
在VFP中是这样使用的:
CLOSE DATABASES
SELECT 1
USE T_TDD
SELECT 2
use T_JHK
scan
UPDATE T_TDD SET T_TDD.ZYMC=T_JHK.ZYMC WHERE T_TDD.PKID=T_JHK.ZYDH
endscan
SELECT 1
BROWSE
十豆三 2004-10-15
  • 打赏
  • 举报
回复
use T_JHK
scan
update T_TDD set T_TDD.ZYMC=T_JHK.ZYMC where T_TDD.PKID=T_JHK.PKID
endscan
liuri璇玑 2004-10-15
  • 打赏
  • 举报
回复
好象VFP不支持这样的语法
两种处理方法
1、一条一条的循环
2、两个表建立关联再更新

语法不太记得了,好象是:
set relation 表1.ZYDH to 表2.LQZY ..
replace t1.zymc=t2.zymc ...
十豆三 2004-10-15
  • 打赏
  • 举报
回复
请参考:
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=200979
JohnShen 2004-10-15
  • 打赏
  • 举报
回复
请参见FAQ:俩个表如何关联update数据问题.

http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=200979
YuyuanJian 2004-10-15
  • 打赏
  • 举报
回复
up
淡蓝冰 2004-10-15
  • 打赏
  • 举报
回复
update t_tdd set zymc=(select zymc from t_jhk where zydh=t_tdd.lqzy)
select * from t_tdd
一定行﹐我剛剛試了
LAIYANGPJ 2004-10-15
  • 打赏
  • 举报
回复
这UPDATE-SQL不能与SELECT-SQL一样进行批量的不同数值的替换,还是加点别的语句吧!
【甲】支持全部主流数据库,配置简单,使用方便,能节省大量时间,比所有的数据专用工具都好用。当然了,功能目前只局限于执行sql上,以后会扩充到,更强大全面的数据库管理工具。 【乙】软件功能 『子』支持数据导出 语法格式: export c:\test.txt; select * from table 后面跟随的所有 sql语句都将生成insert或update语句到文件中 『丑 』创建数据表sql 选中创建表,选中生成sql或sql和列表,输入 select 语句 『寅』自动生成insert select update delete 语句 选中表,再选中sql类型,自动生成在文本框中 『卯』从文件导入执行 sql import c:\a.txt; 后面可以跟sql 『辰』页面在线编辑数据 选中页面编辑后,在点击select产生的表格,就会出现编辑框,修改前出现修改sql,并询问是否修改,由用户来确定sql是否正确 『巳』浏览整个数据库 view database 『午』全库检索 where 1-3,5:1000 ; //检索条件,可选,冒号前是表检索范围,冒号后是检索内容,这里表示在第1至第三个表和第五个表中检索字段包含1000的记录 或 where :1000; //在所有表检索 view database 『未』自定义导出数据 详细参见软件知识库 等等等等,功能很多很实用,是项目开发人员的得力助手。 丙:多个语句使用分号 分隔 提示:本软件需要使用80端口,sql server、MySql 、postgres、db2和Oracle 需要安装客户端支持软件 国人原创 不断完善 2.3(含)以前的版本存在可能删除特定名称数据表的问题,请更新到新版
【甲】支持全部主流数据库,配置简单,使用方便,能节省大量时间,比所有的数据专用工具都好用。当然了,功能目前只局限于执行sql上,以后会扩充到,更强大全面的数据库管理工具。 【乙】软件功能 『子』支持数据导出 语法格式: export c:\test.txt; select * from table 后面跟随的所有 sql语句都将生成insert或update语句到文件中 『丑 』创建数据表sql 选中创建表,选中生成sql或sql和列表,输入 select 语句 『寅』自动生成insert select update delete 语句 选中表,再选中sql类型,自动生成在文本框中 『卯』从文件导入执行 sql import c:\a.txt; 后面可以跟sql 『辰』页面在线编辑数据 选中页面编辑后,在点击select产生的表格,就会出现编辑框,修改前出现修改sql,并询问是否修改,由用户来确定sql是否正确 『巳』浏览整个数据库 view database 『午』全库检索 where 1-3,5:1000 ; //检索条件,可选,冒号前是表检索范围,冒号后是检索内容,这里表示在第1至第三个表和第五个表中检索字段包含1000的记录 或 where :1000; //在所有表检索 view database 『未』自定义导出数据 详细参见软件知识库 等等等等,功能很多很实用,是项目开发人员的得力助手。 丙:多个语句使用分号 分隔 提示:本软件需要使用80端口,sql server、MySql 、postgres、db2和Oracle 需要安装客户端支持软件 国人原创 不断完善 2.3(含)以前的版本存在可能删除特定名称数据表的问题,请更新到新版

2,748

社区成员

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

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