Office中国论坛/Access中国论坛

标题: 小妹请教:重复的字段但ID 不同,将ID小标记 [打印本页]

作者: huangchao1980    时间: 2007-7-5 00:30
标题: 小妹请教:重复的字段但ID 不同,将ID小标记
有一个表中的数据有重复的,有些是重复出现2行,有些是3行,有些是4行
如   name     id    address     keepid
     aa        8    上海
     aa        100   上海
     bb        15    北京
     bb        800    北京
     bb        250    北京

但是它们的 ID 是不重复的 现在需要将重复出现的姓名中 id比较小的保留. 在" keepid " 这一字段中
填入需要保留的 id
     name     id    address     keepid
     aa        8    上海        8
     aa        100   上海       8
     bb        15    北京       15
     bb        800    北京      15
     bb        250    北京      15

请教一下各位大侠有什么好方法
作者: 谢健    时间: 2007-7-5 00:34
用ACCESS做个示例传上来吧!
作者: 一点通    时间: 2007-7-5 00:39
创建一个更新查询,利用DMin函数更新keepid字段
作者: huangchao1980    时间: 2007-7-5 00:59
标题: 小妹请教:重复的字段但ID 不同,将ID小标记


[attach]25230[/attach]




这个要求是:有一个表中的数据有重复的,有些是重复出现2行,有些是3行,有些是4行
如   name     id    address    PRI   keepid
     aa        8    上海             0
     aa        100   上海           0
     bb        15    北京           10
     bb        800    北京          8
     bb        250    北京          7

但是它们的 ID 是不重复的 如果 先比较PRI这一个字段, 如果 PRI 中数字是最大,则保留相对应的ID, 如果 PRI 字段数字相等,则id比较小的保留. 在" keepid " 这一字段中
填入需要保留的 id
     name     id    address     keepid
     aa        8    上海        8
     aa        100   上海       8
     bb        15    北京       15
     bb        800    北京      15
     bb        250    北京      15

请教一下各位大侠有什么好方法

作者: 一点通    时间: 2007-7-5 03:23
UPDATE [add] SET [add].keepid = DMin("id","add","[name]&[PRI]='" & [name] & [PRI] & "'");

作者: huangchao1980    时间: 2007-7-5 18:21
谢谢大侠, 这个更新查询可以把PRI相等的情况下, ID 小的保留. 但是有一个新的情况,名字相同但PRI 不同, 在这个情况下 要保留 PRI 大的 那个ID. 这有什么好办法吗
作者: 一点通    时间: 2007-7-5 18:26
变通一下,再作多一个判断,同样可以实现的,自己尝试下吧




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3