标题:删除另表字符包含问题
只看楼主
fdqzy
Rank: 1
等 级:新手上路
帖 子:354
专家分:0
注 册:2016-8-15
得分:0 
回复 10楼 sdta
辛苦了,谢谢!
2020-09-08 10:45
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
b1每条记录的m包含(或不包含)b2所有记录的m(或m1,m2)
2020-09-08 12:11
fdqzy
Rank: 1
等 级:新手上路
帖 子:354
专家分:0
注 册:2016-8-15
得分:0 
以下是引用吹水佬在2020-9-8 12:11:47的发言:

b1每条记录的m包含(或不包含)b2所有记录的m(或m1,m2)


create cursor b1 (m c(6))
insert into b1 values ("152")
insert into b1 values ("146")
insert into b1 values ("543")
insert into b1 values ("1654")
insert into b1 values ("54136")

create cursor b2 (m c(2))
insert into b2 values ("3")
insert into b2 values ("2")
在b1中删除不包含有b2所有记录的字符
如"152"中含有"2",不删除
"543"中含有"3",不删除
"146"不含b2所有记录,删除
最后结果为:"152","543","54136"的记录
删除"146","1654"的记录
2020-09-08 13:08
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 13楼 fdqzy
是这样的话,参考2、3楼应该好理解,也可以不用DELETE,直接取出所要的数据
2020-09-08 17:14
fdqzy
Rank: 1
等 级:新手上路
帖 子:354
专家分:0
注 册:2016-8-15
得分:0 
以下是引用吹水佬在2020-9-8 17:14:53的发言:

是这样的话,参考2、3楼应该好理解,也可以不用DELETE,直接取出所要的数据

如何取出不包含b2字符的数据?请指点!
因为b1和b2的记录都多
b1有近10万多条数据

[此贴子已经被作者于2020-9-8 17:54编辑过]

2020-09-08 17:49
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 15楼 fdqzy
10多万条不算多
试试这样可否满足要求
程序代码:
create cursor b1 (m c(6))
insert into b1 values ("152")
insert into b1 values ("146")
insert into b1 values ("543")
insert into b1 values ("1654")
insert into b1 values ("54136")

create cursor b2 (m c(2))
insert into b2 values ("3")
insert into b2 values ("2")

SELECT m FROM b2 INTO ARRAY a2
SELECT * FROM b1 WHERE fun(m)
RETURN

FUNCTION fun(m)
    FOR i=1 TO ALEN(a2)
        IF AT(ALLTRIM(a2[i]),m) > 0
            RETURN .F.
        ENDIF
    ENDFOR
    RETURN .T.
ENDFUNC


[此贴子已经被作者于2020-9-8 21:23编辑过]

2020-09-08 21:19
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用fdqzy在2020-9-8 17:49:02的发言:


如何取出不包含b2字符的数据?请指点!
因为b1和b2的记录都多
b1有近10万多条数据

上传所有数据看看

坚守VFP最后的阵地
2020-09-09 06:27
fdqzy
Rank: 1
等 级:新手上路
帖 子:354
专家分:0
注 册:2016-8-15
得分:0 
回复 16楼 吹水佬
谢谢两位版主 !!
2020-09-09 15:51
fdqzy
Rank: 1
等 级:新手上路
帖 子:354
专家分:0
注 册:2016-8-15
得分:0 
其实也可以这样操作:
复制b1为b3
用2楼的办法删除包含相同字符的记录
再在b3中删除上面保留的记录
语句也只有两名,也避免了b1因数据量大编程费时间的问题.
再次感谢两位老师!!!
2020-09-09 20:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503091-1-1.html




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

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