Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

查询多个表数据的统计,按月份统计

laurent  发表于:2015-10-13 00:46:20  
复制

表一:记录员工信息:员工

表二:记录哪个客户对应哪个员工

表三:记录每天客户的预充值信息

表四:记录每个客户每天所有交易信息


查询结果:每个月,某员工总的交易量及总的充值量统计。


我现在能想到的就是指定日期用union all 来合并,就是必须每个月进行计算,不知道有没有更好的方法。


另外,这个按月份的查询如何自动生成,暂时没想到方法。点击下载此附件


 

Top
煮江品茶 发表于:2015-10-13 05:43:54

1、先写查询一个名曰:交易查询
select a.员工ID,d.员工姓名,a.客户姓名,b.充值时间,b.充值金额,c.交易时间,c.交易金额
from 客户表 as a
inner join 充值表 as b on b.客户ID=a.客户ID
inner join 交易表 as c on c.客户ID=a.客户ID
inner join 员工表 as d on d.员工ID=a.员工ID

2、以交易查询为基础,再写一个查询名曰:统计查询
select a.员工ID,a.员工姓名,format(a.充值时间,"yyyy/mm") as 充值月度,sum(a.充值金额) as 充值金额,format(a.交易时间,"yyyy/mm") as 交易月度,sum(a.交易金额) as 交易金额
from 交易查询 as a
group by a.员工ID,a.员工姓名,format(a.充值时间,"yyyy/mm"),format(a.交易时间,"yyyy/mm")



laurent 发表于:2015-10-13 11:13:18

inner join 加一条信息就可以。加多条就不行,不知道是什么原因。



laurent 发表于:2015-10-13 11:21:59
SELECT a.员工ID, d.员工名称, a.客户名称, b.充值日期, b.充值金额, c.消费日期, [c].[交易金额] AS 表达式1
FROM ((客户表 AS a INNER JOIN 充值表 AS b ON a.[客户ID] = b.[客户ID]) INNER JOIN 交易表 AS c ON a.[客户ID] = c.[客户ID]) INNER JOIN 员工表 AS d ON a.[员工ID] = d.[员工ID];



少了括号



laurent 发表于:2015-10-13 11:57:02
测试不成功,主要是日期汇总不到一块去。

总记录:4篇  页次:1/1 9 1 :