0

以下是我的源数据

在此处输入图像描述

通过使用以下查询,我可以获得“17-09-2016”的汇总数据

SQL查询:-

SELECT key_val.A, key_val.B, key_val.C, key_val.D, Sum(IIf(key_val.Store_date=#9/17/2016#,key_val.Val,0)) AS [17-09-2016]
FROM key_val
GROUP BY key_val.A, key_val.B, key_val.C, key_val.D;

但我正在寻找输出假设看起来像这样。

在此处输入图像描述

具体来说=我需要 a、b、c 列和 '17-09-2016' 日期的汇总数据在 excel 中,我们将应用 sumifs 公式来获得所需的输出,但在 Access - SQL 中我不知道如何形成查询来获取相同的数据。

任何人都可以帮助我如何使用 Access Query 实现上述结果吗?

具体来说 = 我需要 a、b、c 列和“2016 年 17 月 9 日”日期的汇总数据

4

1 回答 1

0

我不确定你从哪里得到 34 个数字 - 即使 A、B、C 和 D 中的值不同(所以分组不起作用),前两行的总和?

假设您希望在所有其他字段相等的情况下对值求和(A、B、C、D 和 Store_Date):

此查询将为您提供总数,但不是您所追求的格式:

SELECT      A, B, C, D, SUM(val) As Total, Store_Date
FROM        key_val
WHERE       Store_date = #9/17/2016#
GROUP BY    A,B,C,D, Store_Date

在此处输入图像描述

此 SQL 将为您提供相同的信息,但适用于所有日期(只需删除WHERE子句)。

SELECT      A, B, C, D, SUM(val) As Total, Store_Date
FROM        key_val
GROUP BY    A,B,C,D, Store_Date
ORDER BY    Store_Date

这将给出您的示例中显示的确切表格:

TRANSFORM   Sum(val) AS SumOfValue
SELECT      A, B, C, D
FROM        key_val
WHERE       Store_date = #9/17/2016#
GROUP BY    A,B,C,D,val
PIVOT       Store_Date

在此处输入图像描述

同样,只需删除该WHERE子句即可列出表中的所有日期: 在此处输入图像描述

于 2016-11-03T09:51:42.960 回答