如何合并 2 个查询或使用连接创建相同的查询

时间:2021-04-01 23:03:00

标签: sql ms-access

我有两个查询如下所示,我正在尝试在 Access 中将它们合并为一个,我可以使用连接或其他方法来做到这一点吗?

查询 1

SELECT Table.ID, Sum Table.Amount as Complete_Total
FROM Table
WHERE Table.Status = "Complete"
GROUP BY Table.ID

查询 2

SELECT Table.ID, Sum Table.Amount as Failed_Total
FROM Table
WHERE Table.Status = "Failed"
GROUP BY Table.ID

2 个答案:

答案 0 :(得分:1)

您可以尝试条件求和。

SELECT t1.ID, 
Sum(IIF(t1.Status='Complete',t1.Amount,0)) AS [Complete Total], 
Sum(IIF(t1.Status='Failed',t1.Amount,0)) AS [Failed Total]
FROM Table1 t1
GROUP BY t1.ID;

表格数据:

enter image description here

查询输出:

enter image description here

答案 1 :(得分:0)

使用条件聚合:

SELECT t.ID
       Sum(CASE WHEN t.Status = 'Complete' THEN Amount END) as Complete_Total,
       Sum(CASE WHEN t.Status = 'Failed' THEN Amount END) as Failed_Total
FROM Table t
GROUP BY t.ID;

在 MS Access 中,这将是:

SELECT t.ID,
       Sum(IIF(t.Status = 'Complete', Amount, 0)) as Complete_Total,
       Sum(IIF(t.Status = 'Failed', Amount, 0)) as Failed_Total
FROM Table t
GROUP BY t.ID;
相关问题