1

我正在尝试在 Access 中执行此操作。

我有 2 个表:命名为 2012 和 2013 两个表都有相同的字段:年份、销售、发票、零件号、描述

我需要一份包含所有零件编号的销售和发票的最终报告(查询)。例如; 零件编号 123 在 2012 年有 1 次销售,在 2013 年有 3 次销售,结果将是 4 次销售。我需要销售和发票字段的总和。

表有不同数量的记录。需要显示所有记录。

表 1 示例

Year Sales Invoices Part Number Description
2012     0        0        1234 HAT
2012     3        3        5678 JACKET

表 2 示例

Year  Sales Invoices Part Number Description
2013     17       17        1234 HAT
2013      1        1        5678 JACKET

查询示例

Sales Invoices Part Number Description
17          17        1234 HAT
 4           4        5678 JACKET
4

1 回答 1

2

你需要做两件事:

  1. 使用UNION查询来合并 2 个表中的数据。
  2. 创建一个聚合 ( GROUP BY) 查询以根据查询返回的结果计算总和UNION

首先处理UNION查询。

SELECT
    t1.Sales,
    t1.Invoices,
    t1.[Part Number],
    t1.Description
FROM [TABLE 1] AS t1
UNION ALL
SELECT
    t2.Sales,
    t2.Invoices,
    t2.[Part Number],
    t2.Description
FROM [TABLE 2] AS t2

根据需要调整(未经测试的 SQL)。然后将其用作查询的子查询数据源GROUP BY

SELECT
    sub.[Part Number],
    sub.Description,
    Sum(sub.Sales) AS SumOfSales,
    Sum(sub.Invoices) AS SumOfInvoices
FROM
    (
        SELECT
            t1.Sales,
            t1.Invoices,
            t1.[Part Number],
            t1.Description
        FROM [TABLE 1] AS t1
        UNION ALL
        SELECT
            t2.Sales,
            t2.Invoices,
            t2.[Part Number],
            t2.Description
        FROM [TABLE 2] AS t2
    ) AS sub
GROUP BY
    sub.[Part Number],
    sub.Description
于 2013-10-07T20:10:52.157 回答