| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 473 人关注过本帖
标题:删除另表字符包含问题
只看楼主 加入收藏
fdqzy
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2016-8-15
结帖率:93.33%
收藏
已结贴  问题点数:20 回复次数:18 
删除另表字符包含问题
一、删除包含1个字符的记录
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",删除

二、删除包含2个字符的记录

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 (m1 c(1),m2 c(1))
insert into b2 values ("1","2")
insert into b2 values ("3","1")

如"152"含有"1"和"2"删除
"54136"含有"1"和"3"删除

谢谢!

搜索更多相关主题的帖子: 包含 删除 into values insert 
2020-09-07 14:55
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:227
帖 子:8242
专家分:21052
注 册:2012-2-5
收藏
得分: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")
DELETE b1 FROM b2 WHERE ALLTRIM(b2.m) $ b1.m
SELECT b1
* PACK && CURSOR 表不能 PACK
BROWSE



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 (m1 c(1),m2 c(1))
insert into b2 values ("1","2")
insert into b2 values ("3","1")

DELETE b1 FROM b2 WHERE b2.m1 $ b1.m AND b2.m2 $ b1.m
SELECT b1
* PACK && CURSOR 表不能 PACK
BROWSE

坚守VFP最后的阵地
2020-09-07 16:42
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:227
帖 子:8242
专家分:21052
注 册:2012-2-5
收藏
得分:0 
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")
SCAN
    SELECT b1
    SCAN
        DELETE FOR ALLTRIM(b2.m) $ b1.m
    ENDSCAN
ENDSCAN

SELECT b1
* PACK && CURSOR 表不能 PACK
BROWSE

*****************************************************
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 (m1 c(1),m2 c(1))
insert into b2 values ("1","2")
insert into b2 values ("3","1")
SCAN
    SELECT b1
    SCAN
        DELETE FOR b2.m1 $ b1.m AND b2.m2 $ b1.m
    ENDSCAN
ENDSCAN

SELECT b1
* PACK && CURSOR 表不能 PACK
BROWSE

坚守VFP最后的阵地
2020-09-07 16:49
fdqzy
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2016-8-15
收藏
得分:0 
谢谢版主!!!
2020-09-07 17:20
fdqzy
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2016-8-15
收藏
得分:0 
回复 3楼 sdta
版主:
在DELETE b1 FROM b2 WHERE ALLTRIM(b2.m) $ b1.m语句中,如果删除不包含b2.m字符,应怎么写?

如"152"含有"2"不删除
"54136"含有"3"不删除

[此贴子已经被作者于2020-9-7 18:45编辑过]

2020-09-07 18:09
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:227
帖 子:8242
专家分:21052
注 册:2012-2-5
收藏
得分:0 
先学基础,再学编程

坚守VFP最后的阵地
2020-09-07 18:18
fdqzy
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2016-8-15
收藏
得分:0 
回复 6楼 sdta
我用 DELETE b1 FROM b2 WHERE NOT b2.m1 $ b1.m AND b2.m2 $ b1.m
结果全部删除了,
用 DELETE FOR NOT b2.m1 $ b1.m AND b2.m2 $ b1.m
也是全部删除了
SQL语句未学过,惭愧。


[此贴子已经被作者于2020-9-7 18:43编辑过]

2020-09-07 18:34
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:227
帖 子:8242
专家分:21052
注 册:2012-2-5
收藏
得分:0 
以下是引用fdqzy在2020-9-7 18:34:28的发言:

我用 DELETE b1 FROM b2 WHERE NOT b2.m1 $ b1.m AND b2.m2 $ b1.m
结果全部删除了,
用 DELETE FOR NOT b2.m1 $ b1.m AND b2.m2 $ b1.m
也是全部删除了
SQL语句未学过,惭愧。

1 insert into b1 values ("152")
包含2,不包含3,所以本条记录被删除
2 insert into b1 values ("146")
同时不包含2、3,所以本条记录被删除
3 insert into b1 values ("543")
包含3,不包含2,所以本条记录被删除
4 insert into b1 values ("1654")
同时不包含2、3,所以本条记录被删除
5 insert into b1 values ("54136")
包含3,不包含2,所以本条记录被删除

通过上面分析,5条记录全部被删除

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

坚守VFP最后的阵地
2020-09-08 10:03
fdqzy
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2016-8-15
收藏
得分:0 
以下是引用sdta在2020-9-8 10:03:26的发言:


1 insert into b1 values ("152")
包含2,不包含3,所以本条记录被删除
2 insert into b1 values ("146")
同时不包含2、3,所以本条记录被删除
3 insert into b1 values ("543")
包含3,不包含2,所以本条记录被删除
4 insert into b1 values ("1654")
同时不包含2、3,所以本条记录被删除
5 insert into b1 values ("54136")
包含3,不包含2,所以本条记录被删除

通过上面分析,5条记录全部被删除

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

辛苦版主老师,是我没把问题说清楚,条件是不包含“3”或“2”的记录删除。麻烦了。
结果应是“146”和“1654”两条记录被删除。

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

2020-09-08 10:25
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:227
帖 子:8242
专家分:21052
注 册:2012-2-5
收藏
得分:0 
以下是引用fdqzy在2020-9-8 10:25:29的发言:


辛苦版主老师,是我没把问题说清楚,条件是不包含“3”或“2”的记录删除。麻烦了。

8楼的分析是针对5楼的问题回复的,可能我也没说清楚,抱歉!
给出你的问题的正确答案

坚守VFP最后的阵地
2020-09-08 10:39
快速回复:删除另表字符包含问题
数据加载中...
 
   



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

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