Office中国论坛/Access中国论坛

标题: 请教,查询统计问题,老出错 [打印本页]

作者: lovehere    时间: 2010-6-17 17:22
标题: 请教,查询统计问题,老出错
做了个库,三个链接表,公司、分部、订单。为三级嵌套关系。
做了订单查询,想统计某客户最后一个订单的时间。现在的问题时,查询结果有时候会出错,有时候显示的不是最后一个订单的时间。如图:图1中甲公司有三个订单,我只想查询最后一个订单的时间。图2显示的是正确的,但实际应用的过程中有时候图2查询出的甲公司最后一次订单时间为图1中1处所示。并不是最后一个订单的时间。不知道问题出在哪里。我做过这样的尝试,在订单表中增加公司名称字段,做一个查询,将公司名称对应复制到订单表中,做统计就会没有问题。但是这样做,修改公司表中的公司名称后,订单表里的公司名称不会自动修改,还需手工改,很麻烦。请教一下,我例子中的查询是否是结构上的问题?
作者: Benjamin_luk    时间: 2010-6-18 00:09
原因可能是用户记录的是最后一条,但是时间上不是最后的
试一下用这个查询:
SELECT 公司.公司名称, 分部.分部名称, Max(订单.时间) AS 时间之最大值, 订单.订单内容
FROM 公司 INNER JOIN (分部 INNER JOIN 订单 ON 分部.分部编号 = 订单.所属分部) ON 公司.公司编号 = 分部.所属公司
GROUP BY 公司.公司名称, 分部.分部名称, 订单.订单内容
ORDER BY Max(订单.时间) DESC;
作者: lovehere    时间: 2010-6-18 08:20
我看你的查询设计中,分部是分组的,我用LAST可以吗?因为我要取公司的最后一个订单,分部分组后,公司会出现多个记录。
作者: lovehere    时间: 2010-6-18 08:37
原因可能是用户记录的是最后一条,但是时间上不是最后的
试一下用这个查询:
......
GROUP BY 公司.公司名称, 分部.分部名称, 订单.订单内容
ORDER BY Max(订单.时间) DESC;
Benjamin_luk 发表于 2010-6-18 00:09

最后的“GROUP BY 中{分部.分部名称, 订单.订单内容}部分
”有个问题,查询结果公司不唯一了。见附图:
作者: lovehere    时间: 2010-6-18 08:38
主要是我还需要分部和订单内容这两个字段的内容。
作者: lovehere    时间: 2010-6-21 13:03
不是这个效果,待我重新发帖子详细描述一下。
多谢几位了




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