设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1513|回复: 4
打印 上一主题 下一主题

[与其它组件] [救助]如何删除成对重复记录?

[复制链接]
跳转到指定楼层
1#
发表于 2007-4-26 09:26:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下所示,红蓝双方成配对关系,如何删除成对重复的记录(如ID1、2与9、10,3、4与7、8重复)?    点击浏览该文件

ID   红蓝双方名称     红蓝双方数量
1       红一团               5000
2       蓝一团               4800
3       红二团               5500
4       蓝二团               5300
5       红三团               5050
6       蓝三团               5200
7       红二团               5500
8       蓝二团               5300
9       红一团               5000
10     蓝一团               4800

[此贴子已经被作者于2007-4-26 2:24:24编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-4-26 16:01:00 | 只看该作者
DELETE SAMPLE.红蓝双方名称, SAMPLE.红蓝双方数量, SAMPLE.ID
FROM SAMPLE
WHERE (((SAMPLE.红蓝双方名称) In (SELECT [红蓝双方名称] FROM [SAMPLE] As Tmp GROUP BY [红蓝双方名称],[红蓝双方数量] HAVING Count(*)>1  And [红蓝双方数量] = [SAMPLE].[红蓝双方数量])));
3#
 楼主| 发表于 2007-4-26 18:18:00 | 只看该作者
谢谢eyewitnes的帮助,不过抱歉的是,因为打字太匆忙,以上问题少了一个条件,即要求保留成对重复记录中ID值最小的一个,请看附件。
4#
发表于 2007-4-30 18:44:00 | 只看该作者
DELETE SAMPLE.ID, SAMPLE.红蓝双方名称, SAMPLE.红蓝双方数量, (select count(sample.红蓝双方名称) as autonum from sample  where (sample.id<=sample_1.id and sample.红蓝双方名称= sample_1.红蓝双方名称)) AS tmpNo
FROM SAMPLE INNER JOIN SAMPLE AS SAMPLE_1 ON SAMPLE.ID = SAMPLE_1.ID
WHERE ((((select count(sample.红蓝双方名称) as autonum from sample  where (sample.id<=sample_1.id and sample.红蓝双方名称= sample_1.红蓝双方名称)))>1));
想了好久才想出来

如果只是查询而不需要从表中删除的话可以将这个查询改为普通查询,然后将">1"改为"=1"

[此贴子已经被作者于2007-4-30 10:47:39编辑过]

5#
 楼主| 发表于 2007-5-1 03:10:00 | 只看该作者
谢谢大侠援助,好像该句有点问题。能否再指点一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-21 05:46 , Processed in 0.097731 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表