Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何组合2个查询或使用联接创建同一查询_Sql_Ms Access - Fatal编程技术网

Sql 如何组合2个查询或使用联接创建同一查询

Sql 如何组合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

我有两个查询,如下所示,我正在尝试将它们组合成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
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标记。