Office中国论坛/Access中国论坛

标题: 一个查询语句不知道怎么写,麻烦帮忙看看 [打印本页]

作者: overown    时间: 2009-1-7 15:32
标题: 一个查询语句不知道怎么写,麻烦帮忙看看
现有2个表,内容如下

表1
商品编号     客户编号
   1                   1
   1                   4
   2                   8
   6                   1


经营表    (记录了在什么日期销售了多少什么东西到哪个客户)
日期                   商品编号     客户编号             数量
2006-10-1                1                   1                   1
2006-11-1                1                   1                   8
2007-08-2                2                   8                   3
2008-04-9                1                   1                   7
2008-04-9                6                   1                   7

现在我想得到一个查询
把在表1中所列出的商品,以及对应的客户,2008年以前的销售做一个统计
要求结果如下
商品编号     客户编号     2008年以前销售数量之总计
   1                   1                                9
   1                   4                                0
   2                   8                                3
   6                   1                                0


请问这样一个查询应该怎么写呢?
作者: WDLRCZT    时间: 2009-1-7 15:43
用交叉表查询来做
作者: Henry D. Sy    时间: 2009-1-7 15:54
用左外连接+sql聚合汇总
作者: overown    时间: 2009-1-7 15:58
这个不需要交叉表查询吧?而且我觉得用普通查询起来的东西 后期看比较方便
作者: overown    时间: 2009-1-7 16:09
现在我的查询是这样的

SELECT 表1.商品编号, 表1.客户编号, Sum([经营表].数量) AS 数量之总计
FROM 表1 LEFT JOIN 经营表 ON (表1.客户编号=[经营表].客户编号) AND (表1.商品编号=[经营表].商品编号)
GROUP BY 表1.商品编号, 表1.客户编号;

现在就是不知道如何限定只求和2008年以前的数据 我觉得应该是在ON后面写 但是老提示错误

请各位再看看
作者: WDLRCZT    时间: 2009-1-7 16:23
这样试试
SELECT 表1.商品编号, 表1.客户编号, Sum(IIf([日期]<#1/1/2008#,[数量],0)) AS 数量之总计 FROM 表1 LEFT JOIN 经营表 ON (表1.客户编号=[经营表].客户编号) AND (表1.商品编号=[经营表].商品编号) GROUP BY 表1.商品编号, 表1.客户编号;
作者: Henry D. Sy    时间: 2009-1-7 16:28
为什么不把例子传上来
作者: overown    时间: 2009-1-7 16:39
原帖由 WDLRCZT 于 2009-1-7 16:23 发表
这样试试
SELECT 表1.商品编号, 表1.客户编号, Sum(IIf([日期]


原来是这样  哈哈 谢谢 这就去试试
作者: overown    时间: 2009-1-7 16:40
原帖由 Henry D. Sy 于 2009-1-7 16:28 发表
为什么不把例子传上来


没想到直接上传附件  不好意思啊

等下要是没解决再来传




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