Access交流中心

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

表A中的“1月”和表B中的“1月1日…1月31日”怎么对应?

zhy6271  发表于:2010-06-23 15:08:47  
复制

我要建立一个查询。

 

表A   为:

 

员工A   1月   300

员工B   1月   200

 

表B为:

 

员工A   1月1日    2

员工A   1月1日    1

员工B   1月1日    3

员工………………

员工A   1月31日   3

 

________________________________

如何判断1月=(1月1日 … 1月31日)??

 

Top
陈福祥 发表于:2010-06-23 15:24:47
用 DatePart("m",日期) 可返回日期的月份

王樵民 发表于:2010-06-23 15:58:07

可利用函数mid以及instr函数,创建一个月份的查询字段,即可以将该月的日期变成月份,取该查询的名称为“表B查询”。

SELECT 表B.员工姓名, 表B.月日, 表B.销售额, Mid([月日],1,InStr(1,[月日],"月")) AS 月份
FROM 表B;

再建一个按月份的汇总查询,示例如下:取该查询的名称为“表B查询1”。

 

SELECT DISTINCTROW [表B查询].姓名, [表B查询].月份, Sum([表B查询].销售额) AS [销售额合计]
FROM [表B查询]
GROUP BY [表B查询].姓名, [表B查询].月份;

再建一个查询:

SELECT 表A.姓名, 表A.月份, 表A.销售额, 表B查询1.销售额总计
FROM 表A INNER JOIN 表B查询1 ON (表A.月份 = 表B查询1.月份) AND (表A.姓名 = 表B查询1.姓名)
ORDER BY 表A.姓名;

即可完成你想要的个人月份完成销售额的情况

详见附件:

 

点击下载此附件

zhy6271 发表于:2010-06-24 18:05:06

先感谢2位老师。

 

最佳答案给了王老师,但是我并没采用王老师的方法。

 

因为我数据表中使用的是数据类型是 日期。

 

然后我使用datepart(m,日期)&月 来做出聚合。

 

然而最后能够实现还是因为王老师的实例中将查询月份和数据表任务月份做了关系连接~

 

而这点才真正完成了这个查询。

 

感谢2位~



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