Sql 如何组合2个查询或使用联接创建同一查询
我有两个查询,如下所示,我正在尝试将它们组合成Access中的一个查询,我可以使用join或其他方法来实现吗 问题1Sql 如何组合2个查询或使用联接创建同一查询,sql,ms-access,Sql,Ms Access,我有两个查询,如下所示,我正在尝试将它们组合成Access中的一个查询,我可以使用join或其他方法来实现吗 问题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 WH
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
使用条件聚合:
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;
你可以试试条件和
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;
表格数据:
查询输出:
您有打字错误。t.ID
SELECT t.ID,Sum(..
)后将有逗号(,)。您确定CASE当…
对MS Access有效吗?我尝试过,但它给出了语法错误…
@Harun24HR…我回答时一定错过了MS Access标记。