| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
Reworld,下班在家制作游戏,1500万奖金等你拿以码会友 以友辅仁
共有 214 人关注过本帖
标题:求表间数据更新
只看楼主 加入收藏
fdqzy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2016-8-15
结帖率:75%
  已结贴   问题点数:14  回复次数:10   
求表间数据更新
表1:
jnh mc
1   m1
2   m2
3   m3

表2:
jnh mc
1   m3
2   m2
3   m1

表3:
jnh mc
1   
2   m2
3   

比较表1和表2,相同记录的mc值更新到表3,不同则为空.表1、表2、表3记录行相同。
谢谢!

搜索更多相关主题的帖子: 为空 数据 更新 记录 相同 
2019-09-09 15:53
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:191
帖 子:7828
专家分:19281
注 册:2012-2-5
  得分:7 
VFP什么版本

坚守VFP最后的阵地
2019-09-09 18:31
fdqzy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2016-8-15
  得分:0 
回复 2楼 sdta
v9.0
2019-09-09 19:10
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:191
帖 子:7828
专家分:19281
注 册:2012-2-5
  得分:0 
CREATE CURSOR t1 (jnh c(10), mc c(10))
INSERT INTO t1 VALUES ("1", "m1")
INSERT INTO t1 VALUES ("2", "m2")
INSERT INTO t1 VALUES ("3", "m3")
CREATE CURSOR t2 (jnh c(10), mc c(10))
INSERT INTO t2 VALUES ("1", "m3")
INSERT INTO t2 VALUES ("2", "m2")
INSERT INTO t2 VALUES ("3", "m1")
SELECT jnh, SPACE(10) mc FROM t1 INTO CURSOR t3 READWRITE
UPDATE t3 SET mc = tt.mc from (SELECT jnh, mc FROM t1 WHERE jnh + mc in (SELECT jnh + mc FROM t2)) tt WHERE t3.jnh == tt.jnh
SELECT t3
BROWSE

坚守VFP最后的阵地
2019-09-09 19:41
fdqzy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2016-8-15
  得分:0 
回复 4楼 sdta
谢谢!
有两个问题请教:
1.jnh是数值型,提示“操作符/操作类型不符”,语句在何处更改?
2,需替换的字段多,应如何进行?
3,表3字段名与表1(表2)时,是一个已进的表,如下不
表3:
jnh mct
1   
2   m2
3   
应如何进行?

[此贴子已经被作者于2019-9-9 20:43编辑过]

2019-09-09 20:19
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:6708
专家分:29702
注 册:2014-5-20
  得分:7 
CREATE CURSOR t1 (jnh I, mc c(10))
INSERT INTO t1 VALUES (1, "m1")
INSERT INTO t1 VALUES (2, "m2")
INSERT INTO t1 VALUES (3, "m3")
CREATE CURSOR t2 (jnh I, mc c(10))
INSERT INTO t2 VALUES (1, "m3")
INSERT INTO t2 VALUES (2, "m2")
INSERT INTO t2 VALUES (3, "m1")
CREATE CURSOR t3 (jnh I, mc c(10))
INSERT INTO t3 VALUES (1, "")
INSERT INTO t3 VALUES (2, "")
INSERT INTO t3 VALUES (3, "")

SET RELATION TO RECNO() INTO "t1", RECNO() INTO "t2"
REPLACE t3.mc WITH t1.mc ALL FOR t1.mc==t2.mc IN "t3"
BROWSE
RETURN
2019-09-09 20:41
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:191
帖 子:7828
专家分:19281
注 册:2012-2-5
  得分:0 
CREATE CURSOR t1 (jnh n(10), mc c(10))
INSERT INTO t1 VALUES (1, "m1")
INSERT INTO t1 VALUES (2, "m2")
INSERT INTO t1 VALUES (3, "m3")
CREATE CURSOR t2 (jnh n(10), mc c(10))
INSERT INTO t2 VALUES (1, "m3")
INSERT INTO t2 VALUES (2, "m2")
INSERT INTO t2 VALUES (3, "m1")
SELECT jnh, SPACE(10) mc FROM t1 INTO CURSOR t3 READWRITE
UPDATE t3 SET mc = tt.mc FROM (SELECT jnh, mc FROM t1 WHERE STR(jnh,10) + mc in (SELECT STR(jnh,10) + mc FROM t2)) tt WHERE t3.jnh == tt.jnh
SELECT t3
BROWSE


要想更好的解决问题,上传原始表

坚守VFP最后的阵地
2019-09-09 20:42
fdqzy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2016-8-15
  得分:0 


谢谢!
附件: 您没有浏览附件的权限,请 登录注册
2019-09-09 21:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:191
帖 子:7828
专家分:19281
注 册:2012-2-5
  得分:0 
CLOSE DATABASES
USE 表1 IN 0 ALIAS b1
USE 表2 IN 0 ALIAS b2
USE 表3 IN 0 ALIAS b3
SELECT b3
SET RELATION TO RECNO() INTO  b1, RECNO() INTO b2
FOR i = 2 TO FCOUNT()
    BLANK ALL FIELDS (FIELD(i))
    REPLACE (FIELD(i)) WITH EVALUATE("b1." + FIELD(i, "b1")) FOR EVALUATE("b1." + FIELD(i, "b1")) == EVALUATE("b2." + FIELD(i, "b2"))
ENDFOR
SET RELATION TO
BROWSE

坚守VFP最后的阵地
2019-09-09 21:51
fdqzy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2016-8-15
  得分:0 
谢谢!
2019-09-10 08:05
快速回复:求表间数据更新
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057834 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved