当对一个字段用sum函数时,其它字段要通过select显示出来,就必须加到Group By里。查了一下资料,见http://www.office-cn.net/offspace/html/47/n-2447.html,里面说:
当我们选不只一个栏位,且其中至少一个栏位有包含函数的运用时,我们就需要用到 GROUP BY 这个指令。在这个情况下,我们需要确定我们有 GROUP BY 所有其他的栏位。换句话说,除了有包括函数的栏位外,我 们都需要将其放在 GROUP BY 的子句中。 我用的是Access,如果有一个要显示的字段没有Group By,就会提示“试图执行的查询中不包含作为聚合函数一部分的特定表达式”,但如果把汇总之外的字段都Group By,显示出来的就不是我要的内容了。

解决方案 »

  1.   


    SELECT Sum(基础表.金额) AS 金额之总计, 客户表.名称
    FROM 
    (select * from 基础表 union  select * from 历史表)基础表 INNER JOIN 客户表 ON 基础表.客户 = 客户表.编号
    WHERE (((基础表.出发日)>#1/1/2009#) AND ((基础表.出发日)<#7/1/2009#))
    GROUP BY 客户表.名称
    ORDER BY Sum(基础表.金额) DESC;