统计子表数据

假定我们在产品表和订单表之间通过产品编号建立关联,而且我们希望在产品表中增加两列,分别统计该产品总的订购数量和金额。

首先我们假定选择产品表,按照前面的讲述,增加一个整数型的表达式列,列名称设为“订购数量”表达式设为:

Sum(Child.数量)

然后增加一个双精度小数型的表达式列,列名称设为“订购金额”计算公式设为:

Sum(Child.金额)

下图是设置好的产品表:

所有的过程都很简单,就连表达式也是自我描述性的,对于订购金额列的表达式:Sum(Child.金额),字面意思就是对子表中的金额列求和。

表达式中的Sum就是前面介绍的聚合函数之一。

如此简单的表达式,前提是产品表只和订单表之间建立了关联,所以Child很显然就是订单表;如果产品表不仅和订单表之间建立了父子关联,还和其他表建立了父子关联,那么我们就需要修改一下公式:

Sum(Child(po).金额)

还记得"po"是什么吗,是我们在产品表和订单表之间建立的关联的名称,我们用它来明确在有多个子表的情况下,到底统计的是哪一个子表的数据。

即使在只有一个子表的情况下,我们也应该在表达式中明确地指定关联,除非你有足够的把握,以后不会再增加关联了。


本页地址:http://www.foxtable.com/webhelp/topics/0100.htm