设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[与其它组件] 请教关于ACCESS中记录滤重的问题!

[复制链接]
跳转到指定楼层
1#
发表于 2003-11-25 00:53:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假如在一个表中有5个字段,我想实现如下过滤重复的效果:

如果某两条(或多条)记录的,字段1、字段2、字段3,中的数据完全相同则只保留一条记录。过滤掉其它记录。但过滤记录前得先判断这几条记录的字段4里有无数据。如果某条记录的字段4里有数据,则留下字段4里有数据的记录。过滤掉无数据的记录!
请问我该怎么做?在SQL查询里语句应该怎么写?哪位大虾帮我解答一下!谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-11-25 01:01:00 | 只看该作者
呵呵,总算做出来啦,不仔细考虑一下,前后做错了两次
不过笨了点,用了3个查询,期待高手交流

[字段4不为空的数据]:
SELECT DISTINCT 测试表.字段1, 测试表.字段2, 测试表.字段3, 测试表.字段4, 测试表.字段5
FROM 测试表
WHERE (((测试表.字段4) Is Not Null));

[字段4为空的数据]:
SELECT 测试表.*
FROM ((测试表 LEFT JOIN 字段4不为空的数据 ON 测试表.字段3 = 字段4不为空的数据.字段3) LEFT JOIN 字段4不为空的数据 AS 字段4不为空的数据_1 ON 测试表.字段1 = 字段4不为空的数据_1.字段1) LEFT JOIN 字段4不为空的数据 AS 字段4不为空的数据_2 ON 测试表.字段2 = 字段4不为空的数据_2.字段2
WHERE (((字段4不为空的数据.字段3) Is Null) AND ((字段4不为空的数据_1.字段4) Is Null) AND ((字段4不为空的数据_2.字段4) Is Null))

[联合查询]:
SELECT *  FROM 字段4不为空的数据
UNION select * from  字段4为空的数据;
[此贴子已经被作者于2003-11-24 17:50:16编辑过]

本帖子中包含更多资源

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

x
3#
发表于 2003-11-25 01:59:00 | 只看该作者
这道题有点废脑筋,一不小心,兔兔就犯了两次错误
嘻嘻,好歹折腾出来啦
思路:
1 查出所有字段4 不为空 的唯一记录,这个好做,一个distinct 就搞定啦
2 然后在测试表中 排除 所有不匹配上面查询结构的记录,也就是找出所有字段4为空的 唯一记录
3 联合查询得出结果

嘻嘻,ADAM进来看看哦,读读你的实现思路
4#
 楼主| 发表于 2003-11-25 04:22:00 | 只看该作者
先谢谢了!
应该是可以实现,不过我没看太懂啊!我是个新手,有没有再简单点的办法啊?
5#
 楼主| 发表于 2003-11-25 04:39:00 | 只看该作者
没牙兔兔
SELECT DISTINCT 测试表.字段1, 测试表.字段2, 测试表.字段3, 测试表.字段4, 测试表.字段5
这是对所有字段相同的滤重呀,并不是对1、2、3字段滤重。我的第五字段肯定是不重的。
6#
发表于 2003-11-25 04:55:00 | 只看该作者
这样的话,那么第一个查询还要改复杂一点,嘻嘻
兔兔笨啊,只会这样把结果挤出来
先建立一个查询:
select distinct 字段1,字段2,字段3 from 测试表
然后再用left join 把相关字段4不为空的关联上

做你的查询有个问题
会不会有字段1,2,3相同,字段4为空,字段5不同的记录???这种倒底要不要舍弃?
7#
发表于 2003-11-25 15:39:00 | 只看该作者
這個題意有點模糊:
是不是這樣:

1.先在字段4中篩選出有記錄的數據.
2.在這個基礎上,篩選出字段1,2,3的唯一字段,(這個有點問題,你說字段5絕對不重,那篩選1,2,3就沒意義了啊,除非你不想顯示字段5,只顯示字段1,2,3,4,對吧.)
3.如果是這樣了話...
那就用兔兔的第一個查詢就夠了啊....
[字段4不为空的数据]:

SELECT DISTINCT 测试表.字段1, 测试表.字段2, 测试表.字段3, 测试表.字段4
FROM 测试表
WHERE (((测试表.字段4) Is Not Null));

4.這個題,主要是講述得不夠明白....,不知我這樣說,有沒理解你們的意思....
5.最好是能夠用例子的方式,原表是怎樣的,操作后又變更什么樣子,這樣即管復雜點,大家也能明白的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-9 21:05 , Processed in 0.093405 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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