注册 登录
编程论坛 VFP论坛

两表相同记录标记

fdqzy 发布于 2020-07-08 16:33, 1707 次点击
create cursor b1 (jnh n(1),mc c(2),有否 c(2))
insert into b1 values (1,"A1","无")
insert into b1 values (2,"A2","有")
insert into b1 values (3,"A3","无")
insert into b1 values (4,"A4","无")
insert into b1 values (5,"A5","有")

create cursor b2 (jnh n(1),mc c(2))
insert into b2 values (1,"A2")
insert into b2 values (2,"A5")
insert into b2 values (3,"C1")
 b1中与b2记录相同,标记为“有”,否则为"无",如b1,谢谢!
3 回复
#2
sdta2020-07-08 17:23
create cursor b1 (jnh n(1),mc c(2),有否 c(2))
insert into b1 values (1,"A1","")
insert into b1 values (2,"A2","")
insert into b1 values (3,"A3","")
insert into b1 values (4,"A4","")
insert into b1 values (5,"A5","")
INDEX on mc TAG mc
create cursor b2 (jnh n(1),mc c(2))
insert into b2 values (1,"A2")
insert into b2 values (2,"A5")
insert into b2 values (3,"C1")
SET RELATION TO mc INTO b1
SCAN
    REPLACE 有否 WITH "有" IN b1
ENDSCAN
SELECT b1
REPLACE 有否 WITH "无" FOR EMPTY(有否)
BROWSE
#3
sdta2020-07-08 17:32
* 如果不对原表进行操作,下面一条代码可以解决问题
SELECT b1.jnh jnh, b1.mc mc1, IIF(ISNULL(b2.mc), "无", "有") 有否 FROM b1 LEFT JOIN b2 ON b1.mc == b2.mc INTO CURSOR cx
* 如果对原表操作,继续下面的步骤
UPDATE b1 SET 有否 = cx.有否 from cx WHERE b1.mc == cx.mc1
SELECT b1
BROWSE
#4
fdqzy2020-07-08 19:24
谢谢!
1