设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 请教,查询统计问题,老出错

[复制链接]
跳转到指定楼层
1#
发表于 2010-6-17 17:22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
做了个库,三个链接表,公司、分部、订单。为三级嵌套关系。
做了订单查询,想统计某客户最后一个订单的时间。现在的问题时,查询结果有时候会出错,有时候显示的不是最后一个订单的时间。如图:图1中甲公司有三个订单,我只想查询最后一个订单的时间。图2显示的是正确的,但实际应用的过程中有时候图2查询出的甲公司最后一次订单时间为图1中1处所示。并不是最后一个订单的时间。不知道问题出在哪里。我做过这样的尝试,在订单表中增加公司名称字段,做一个查询,将公司名称对应复制到订单表中,做统计就会没有问题。但是这样做,修改公司表中的公司名称后,订单表里的公司名称不会自动修改,还需手工改,很麻烦。请教一下,我例子中的查询是否是结构上的问题?

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-6-18 00:09:06 | 只看该作者
原因可能是用户记录的是最后一条,但是时间上不是最后的
试一下用这个查询:
SELECT 公司.公司名称, 分部.分部名称, Max(订单.时间) AS 时间之最大值, 订单.订单内容
FROM 公司 INNER JOIN (分部 INNER JOIN 订单 ON 分部.分部编号 = 订单.所属分部) ON 公司.公司编号 = 分部.所属公司
GROUP BY 公司.公司名称, 分部.分部名称, 订单.订单内容
ORDER BY Max(订单.时间) DESC;
3#
 楼主| 发表于 2010-6-18 08:20:52 | 只看该作者
我看你的查询设计中,分部是分组的,我用LAST可以吗?因为我要取公司的最后一个订单,分部分组后,公司会出现多个记录。
4#
 楼主| 发表于 2010-6-18 08:37:01 | 只看该作者
原因可能是用户记录的是最后一条,但是时间上不是最后的
试一下用这个查询:
......
GROUP BY 公司.公司名称, 分部.分部名称, 订单.订单内容
ORDER BY Max(订单.时间) DESC;
Benjamin_luk 发表于 2010-6-18 00:09

最后的“GROUP BY 中{分部.分部名称, 订单.订单内容}部分
”有个问题,查询结果公司不唯一了。见附图:

本帖子中包含更多资源

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

x
5#
 楼主| 发表于 2010-6-18 08:38:26 | 只看该作者
主要是我还需要分部和订单内容这两个字段的内容。
6#
 楼主| 发表于 2010-6-21 13:03:26 | 只看该作者
不是这个效果,待我重新发帖子详细描述一下。
多谢几位了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-14 20:36 , Processed in 0.105064 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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