设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 如何设计查询找出A字段相同,B字段不同的记录

[复制链接]
跳转到指定楼层
1#
发表于 2006-6-7 21:38:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实例在附件中,哪位高手帮忙设计一个查询
功能:找出公司字段信息相同,而有效期字段信息不同的记录
先谢谢了


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-6-7 22:13:00 | 只看该作者
如果公司和有效期都只有一条的要不要显示出来
3#
 楼主| 发表于 2006-6-8 02:06:00 | 只看该作者
不要,只要公司相同,有效期不同的记录

谢谢
4#
发表于 2006-6-8 03:35:00 | 只看该作者
这样行吗


本帖子中包含更多资源

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

x
5#
发表于 2006-6-8 05:12:00 | 只看该作者
楼主的意思是否这样,如下图所示:





查询 1 是过度,查询 2是最终结果。

我本想只使用一个查询来解决问题,可惜不行-- 一方面 计算字段在生成若干行的时候,另一方面 dcount 函数 又要完成在 域 中向下循环并执行合计,查询做不了这个事情。所以查询报错--表达式过于复杂,无法赋值等等。

也很想找到更简洁的方法,来解决问题。




[此贴子已经被作者于2006-6-7 21:55:36编辑过]

本帖子中包含更多资源

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

x
6#
发表于 2006-6-8 17:20:00 | 只看该作者
try:

select a.公司, a.注册号, a.有效期 from (
SELECT a.公司, a.注册号, a.有效期,(select count(*) from 证书 b where a.公司=b.公司 and a.有效期=b.有效期) as tj1 ,
(select count(*) from 证书 b where a.公司=b.公司 ) as tj2 FROM 证书 a) a where tj2>=2 and tj1=1
7#
 楼主| 发表于 2006-6-8 22:23:00 | 只看该作者
感谢各位,问题解决了。

每个人的方法都行,只是需要稍加改动,是我没把话说清楚

谢谢大家让我又学会了distinct和dcount两个函数

wwwwa写的更是好,只不过我得好好再研究一下才看的懂
8#
发表于 2006-6-9 01:34:00 | 只看该作者
以下是引用wwwwa在2006-6-8 9:20:00的发言:


try:

select a.公司, a.注册号, a.有效期 from (
SELECT a.公司, a.注册号, a.有效期,(select count(*) from 证书 b where a.公司=b.公司 and a.有效期=b.有效期) as tj1 ,
(select count(*) from 证书 b where a.公司=b.公司 ) as tj2 FROM 证书 a) a where tj2>=2 and tj1=1

请教一下,from 证书 b ,是否表明 " 证书 b" 是原始表的别名?我看到有两个别名 a ,b.是作为临时生成新列而使用的别名。
9#
发表于 2006-6-9 16:22:00 | 只看该作者
以下是引用wu8313在2006-6-8 17:34:00的发言:



请教一下,from 证书 b ,是否表明 " 证书 b" 是原始表的别名?我看到有两个别名 a ,b.是作为临时生成新列而使用的别名。

这是一个自连接查询,A、B是证书表。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-14 20:58 , Processed in 0.108017 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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