【发布时间】:2016-04-13 13:47:52
【问题描述】:
我正在执行联合查询以将两个单独查询的结果相加,这两个查询为我提供了来自两个不同会计期间的数据,以获得 12 个月的滚动数字。 我收到消息“您的查询不包括指定的表达式“Report_Header”作为聚合函数的一部分”。我已经读到该字段需要包含在最后的 GROUP BY 语句中,但是当我从任一查询或两个查询中添加字段时,如下所示,我仍然收到消息。帮助?我不是程序员,我是Access用户,所以我需要简单:)。
SELECT [JOIN_IB_FREIGHT&PURCHASES_ROLLING12_SUB].Report_Header,
Sum([JOIN_IB_FREIGHT&PURCHASES_ROLLING12_SUB].SumOfCASES) AS CASES,
Sum([JOIN_IB_FREIGHT&PURCHASES_ROLLING12_SUB].SumOfPurchases) AS PURCHASES
FROM [JOIN_IB_FREIGHT&PURCHASES_ROLLING12_SUB]
UNION ALL
SELECT [JOIN_IB_FREIGHT&PURCHASES_Rolling12_SUB2].Report_Header,
Sum([JOIN_IB_FREIGHT&PURCHASES_Rolling12_SUB2].SumOfCASES) AS CASES,
Sum([JOIN_IB_FREIGHT&PURCHASES_Rolling12_SUB2].SumOfPurchases) AS PURCHASES
FROM [JOIN_IB_FREIGHT&PURCHASES_Rolling12_SUB2]
GROUP BY [JOIN_IB_FREIGHT&PURCHASES_ROLLING12_SUB].Report_Header,
[JOIN_IB_FREIGHT&PURCHASES_Rolling12_SUB2].Report_Header
谢谢!
【问题讨论】:
-
GROUP BY 仅适用于第二个选择。
-
我认为你不能直接在 MS Access 中做你想做的事。一种常见的选择是将
UNION ALL放入视图并将其用于聚合。
标签: sql ms-access aggregate-functions