使用 union 合并 2 个 TBL 之间的数据

时间:2021-03-16 16:17:19

标签: union

我有两个查询如下:

  1. 第一个查询
<头>
Expr1 SumOfBRK
08/03/2021 32499
09/03/2021 2687
28/02/2021 355
SELECT Format([TBL_BRK_DATA_OUTPUT].[DATE],"Short Date") AS Expr1, Sum(TBL_BRK_DATA_OUTPUT.QUANTITY) AS SumOfBRK FROM TBL_BRK_DATA_OUTPUT GROUP BY Format([TBL_BRK_DATA_OUTPUT].[DATE],"Short Date");
  1. 第二次查询
<头>
Expr1 SumOfSTD
08/03/2021 6178
09/03/2021 4135
28/02/2021 2845
SELECT Format([TBL_STD_DATA_OUTPUT].[DATE],"Short Date") AS Expr1, Sum(TBL_STD_DATA_OUTPUT.QUANTITY) AS SumOfSTD FROM TBL_STD_DATA_OUTPUT GROUP BY Format([TBL_STD_DATA_OUTPUT].[DATE],"Short Date");

我希望结果如下:

<头>
Expr1 SumOfSTD SumOfBRK
08/03/2021 6178 32499
09/03/2021 4135 2687
28/02/2021 2845 355

谁能帮帮我?我尝试使用联合来组合它们,但结果不是我所期望的

谢谢。

博斯科

1 个答案:

答案 0 :(得分:0)

听起来你想要一个加入,而不是联合:

SELECT t1.Expr1, t2.SumOfSTD, t1.SumOfBRK
FROM
(
    SELECT FORMAT([TBL_BRK_DATA_OUTPUT].[DATE], "Short Date") AS Expr1,
           SUM(TBL_BRK_DATA_OUTPUT.QUANTITY) AS SumOfBRK
    FROM TBL_BRK_DATA_OUTPUT
    GROUP BY FORMAT([TBL_BRK_DATA_OUTPUT].[DATE], "Short Date")
) t1
INNER JOIN
(
    SELECT FORMAT([TBL_STD_DATA_OUTPUT].[DATE], "Short Date") AS Expr1,
           SUM(TBL_STD_DATA_OUTPUT.QUANTITY) AS SumOfSTD
    FROM TBL_STD_DATA_OUTPUT
    GROUP BY FORMAT[TBL_STD_DATA_OUTPUT].[DATE], "Short Date")
) t2
    ON t2.Expr1 = t1.Expr1;
相关问题