【发布时间】:2020-08-14 00:10:55
【问题描述】:
我仍在开始学习 Access。
我有 3 张桌子。表一将日期作为主键,并将包含所有日期。表 2 和表 3(表 3 在示例图像中被错误标记为第二个表 2)都将有 2 列,即日期和金额。表 2 和表 3 可能有多行具有相同的日期(不同的金额),有些可能会错过日期。我正在寻找一个输出查询,该查询对于表 2 和 3 中的每个日期都有 1 行,其中有一个金额(某些日期可能在任一表中都没有金额),并将该日期的所有这些金额相加在 1 行中。下面是示例表和所需的输出查询。非常感谢新手的帮助!
我现在有了这段代码(请注意,我已经删除了表 1):
SELECT Table2.Dat, Sum(Table2.Amount) AS [Sum Of Amount], Sum(Table2.Tax) AS [Sum Of Tax]
FROM Table2
GROUP BY Table2.Dat;
UNION ALL SELECT Table3.Dat, Sum(Table3.Amount) AS [Sum Of Amount], Sum(Table3.Tax) AS [Sum Of Tax]
FROM Table3
GROUP BY Table3.Dat;
这会将每个单独表格的相同日期的金额相加,但不会将两个表格的日期相加。我想这是另一个 GROUP 功能,但我没有成功地正确形成它。
上述代码的当前结果
【问题讨论】:
-
欢迎来到 Stack Overflow! StackOverflow 不是免费的编码服务。你应该try to solve the problem first。请更新您的问题以在minimal reproducible example 中显示您已经尝试过的内容。如需更多信息,请参阅How to Ask,并拨打tour :)
-
您需要对表 2 和表 3 进行
UNION ALL,然后是SUM(Amount)和GROUP BY Date。 -
表 1 似乎无关紧要,因为您的输出没有所有日期,只有表 2 和表 3 中的日期。
-
我认为
Table1在这里并不重要。从Table2和Table3进行UNION查询。看我的回答。 -
感谢 Barmar,对不起,我没有把这个问题正确地放在一起!随着我的进步和改进,我将尽我所能继续学习正确的程序。
标签: ms-access