我试图在MS Access中创建一个多项表单,其中每个记录都有一个聚合值的字段。也就是说,我有两个具有一对多关系的表。对于表a中的每条记录(一对多中的“一”),我想对表b中的一个字段(一对多中的“多”)求和。
我尝试将记录源与INNER和SUM sql语句一起使用,但这不起作用,因为SUM函数只返回单个聚合值(只有一行包含所有记录的总和)。我希望表a中的每个唯一记录都有一行,并且有一个字段来求和表b中的所有相关记录。
哦,天哪。我希望这对那些阅读它的人来说是有意义的。我的解释似乎令人困惑,但我不确定如何更好地澄清这一点。
发布于 2013-05-15 05:18:20
听起来很简单:
select
a.Field1, sum(b.Field2) as sumOfField2
from
[yourTableA] as a
inner join [yourTableB] as b on a.id = b.idOfA
group by
a.Field1这应该为Field1的每个值提供一个聚合值。替换字段和表名以满足您的需要。
提示:
select部分)和添加到分组字段( instruction)group by部分您需要同时显示表a中在表b中没有任何相关记录的值,将inner join替换为left join (和将为零)希望这能有所帮助
https://stackoverflow.com/questions/16552959
复制相似问题