| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1627 人关注过本帖
标题:求助:应该如何设置删除条件?
只看楼主 加入收藏
zhousr
Rank: 2
等 级:论坛游民
威 望:1
帖 子:265
专家分:47
注 册:2019-3-8
结帖率:94.59%
收藏
已结贴  问题点数:20 回复次数:18 
求助:应该如何设置删除条件?
表A,其中包含专业名称(zymc)、备注(bz)两个字段。表的内容是专业名称或备注字段中包含“化学”两个字的记录,如化学、应用化学、化学工程与工艺等。我的需求是:删除表中专业名称不是“化学”而且备注中没有“化学”和“应用化学”两个专业的所有记录,但专业名称如果是“化学(师范)”或者是“化学类”的,应该保留。
可能出现在专业名称或备注中的含“化学”两个字的专业有:化学、应用化学、化学生物学、能源化学、化学工程与工艺、能源化学工程、化学工程与工业生物工程、药物化学、化学测量学与技术、地球化学、材料化学。
我需要保留专业名称是“化学”、“化学(师范)”或者是“化学类”的,或者专业名称不是前面三个但备注中有“化学”或者“应用化学”专业的,其他全部删除。
请教:这样的删除条件应该怎么写?
谢谢!
A.rar (9.22 KB)
搜索更多相关主题的帖子: 工程 备注 专业 名称 删除 
2022-05-27 23:09
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1591
专家分:3124
注 册:2012-2-29
收藏
得分:4 
回复 楼主 zhousr
可以直接筛选吗:试一试
SELECT * FROM A WHERE "化学"$zymc OR "化学"$bz INTO table db
2022-05-28 05:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9821
专家分:27099
注 册:2012-2-5
收藏
得分:4 
或者专业名称不是前面三个但备注中有“化学”或者“应用化学”专业的
请楼主解释下这句话的意思

化学、化学类、材料化学、能源化学专业等是否算 化学 专业,还是 化学专业 才符合条件

坚守VFP最后的阵地
2022-05-28 07:04
zhousr
Rank: 2
等 级:论坛游民
威 望:1
帖 子:265
专家分:47
注 册:2019-3-8
收藏
得分:0 
以下是引用schtg在2022-5-28 05:35:45的发言:

可以直接筛选吗:试一试
SELECT * FROM A WHERE "化学"$zymc OR "化学"$bz INTO table db


谢谢!这张表就是从一个更大的表中用你说的方法筛选出来的,需要再去除一些不完全符合条件的记录。
2022-05-28 08:58
zhousr
Rank: 2
等 级:论坛游民
威 望:1
帖 子:265
专家分:47
注 册:2019-3-8
收藏
得分:0 
以下是引用sdta在2022-5-28 07:04:15的发言:

或者专业名称不是前面三个但备注中有“化学”或者“应用化学”专业的
请楼主解释下这句话的意思

化学、化学类、材料化学、能源化学专业等是否算 化学 专业,还是 化学专业 才符合条件


谢谢,我没表达清楚。就是“化学”、“化学(师范)”、“化学类”、“应用化学”四种可以算,其他的如材料化学等都不算,都要删除。
2022-05-28 09:02
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:255
专家分:632
注 册:2014-3-18
收藏
得分:4 
就按你的逻辑写就行了
2022-05-28 09:16
zhousr
Rank: 2
等 级:论坛游民
威 望:1
帖 子:265
专家分:47
注 册:2019-3-8
收藏
得分:0 
以下是引用my2318在2022-5-28 09:16:05的发言:

就按你的逻辑写就行了


我发现,从逻辑到代码还是有点距离
2022-05-28 09:35
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1070
专家分:2613
注 册:2015-12-30
收藏
得分:4 
我需要保留专业名称是“化学”、“化学(师范)”或者是“化学类”的,或者专业名称不是前面三个但备注中有“化学”或者“应用化学”专业的,其他全部删除。
按上面句子的描述:
delete from 表名 where
not (zymc IN (“化学”,“化学(师范)”,“化学类”) OR
zymc NOT IN (“化学”,“化学(师范)”,“化学类”) AND (“化学”$bz OR “应用化学”$bz))
是不是这个意思
2022-05-28 10:01
zhousr
Rank: 2
等 级:论坛游民
威 望:1
帖 子:265
专家分:47
注 册:2019-3-8
收藏
得分:0 
回复 8楼 laowan001
谢谢!我试一下
2022-05-28 10:38
zhousr
Rank: 2
等 级:论坛游民
威 望:1
帖 子:265
专家分:47
注 册:2019-3-8
收藏
得分:0 
重新理了一下思路,发现需求表述有问题。其实只要删除专业名称不是“化学”、“化学(师范)”、“化学类”并且备注字段里没有“化学”或者“应用化学”专业的记录即可。
DELETE FROM a WHERE NOT zymc IN ("化学","化学(师范)","化学类") AND NOT ("化学"$bz OR "应用化学"$bz)
结果不尽人意:一是专业名称如“化学工程与工艺”且备注字段为空的,没有删掉;二是如专业名称为“化工与制药类”且备注字段中有“化学工程与工艺”等出现“化学”两字的,也没有删掉。
不知有没更好的办法?谢谢!
2022-05-28 11:32
快速回复:求助:应该如何设置删除条件?
数据加载中...
 
   



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

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