Office中国论坛/Access中国论坛

标题: 求助总计查询! [打印本页]

作者: SecurID    时间: 2011-2-20 20:58
标题: 求助总计查询!
表1有"分组、状态、代码、名称、数量"几个字段,总计查询根据[分组]进行group by,对数量求和,但又要显示   [状态]的值为"正常"的  [代码]及[名称],这要如何实现?
作者: roych    时间: 2011-2-20 22:05
本帖最后由 roych 于 2011-2-20 22:06 编辑

写两个查询,再以这两个查询为数据源来写查询:
  1. '把这个查询命名为“全部”:
  2. SELECT 表1.分组, 表1.代码, 表1.名称, Sum(表1.数量) AS 数量之总计
  3. FROM 表1
  4. GROUP BY 表1.分组, 表1.代码, 表1.名称;
  5. '把这个查询命名为"正常的"
  6. SELECT 表1.分组, 表1.代码, 表1.名称, Sum(表1.数量) AS 数量之总计
  7. FROM 表1
  8. WHERE (((表1.状态)="正常"))
  9. GROUP BY 表1.分组, 表1.代码, 表1.名称;
  10. ‘建立第三个查询,这个是结果
  11. SELECT 正常的.分组, 正常的.名称, 全部.代码, 全部.数量之总计
  12. FROM 正常的 RIGHT JOIN 全部 ON 正常的.代码 = 全部.代码;
复制代码

作者: SecurID    时间: 2011-2-20 22:22
好像有点问题!
作者: SecurID    时间: 2011-2-20 22:23
5个分组,查询结果应该只有5个记录!
作者: roych    时间: 2011-2-20 23:30
不知道有什么问题。。十三条记录全部都在
[attach]44888[/attach]

作者: SecurID    时间: 2011-2-20 23:40
可能有点误会了,结果应该只有5条记录,每个分组1条

作者: SecurID    时间: 2011-2-20 23:49
我的意思是:总计查询根据[分组]进行group by,对数量求和,如果不管"状态、代码、名称"几个字段的话,结果是5条记录。这5条记录中没有[代码]这个字段,这5条记录(只是5条)要添加这个字段,而同一个[分组]有不同[代码]的值,选择[状态]=正常的一个就可以了,名称同样... ...
作者: roych    时间: 2011-2-21 01:04
试试这个:
SELECT 表1.分组, First(表1.代码) AS 代码之第一条记录, Sum(表1.数量) AS 数量之总计
FROM 表1
GROUP BY 表1.分组, 表1.状态
HAVING (((表1.状态)="正常"));
每个只保留一条“正常”的记录,而统计所有“正常”的数量总和。
作者: SecurID    时间: 2011-2-22 00:29
每个只保留一条“正常”的记录,但是数量总和需要“正常”的+“禁用”的!!




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