将两个查询合并为一个SQL MS Access 2007

时间:2013-10-16 07:48:15

标签: sql ms-access

我有一张包含以下记录的表格:

date, name, amount, balance, debit_credit. 

此表格表示在一段时间内对几家公司进行观察的样本。

我想使用以下记录制作下表:

aggregate1, aggregate2, aggregate3, aggregate4, name.

其中:

aggregate1 - sum of amount for all names where balance equals 1500, 1501;
aggregate2 - sum of amount for all names where balance equals 1400, 1401;
aggregate3 - sum of amount for all names where balance equals 1300, 1301;

我编写了以下SQL查询来计算aggregate1。

SELECT Sum(Firms.amount)/100 AS [aggregate1], Firms.name
FROM Firms
where Firms.Balance in (1500, 1502)
GROUP BY Firms.name;

但是,我是如何将一个表(见上文)中的输出与不同的条件组合在一起? 此外,我想知道如何设置日期作为此查询的参数?

我将非常感谢您的建议和解决方案。谢谢您的考虑。

1 个答案:

答案 0 :(得分:2)

也许是这样的:

SELECT
    Firms.name,
    SUM(iif(Firms.Balance IN (1500, 1502),Firms.amount,0))/100 AS aggregate1,
    SUM(iif(Firms.Balance IN (1400, 1401),Firms.amount,0))/100 AS aggregate2,
    SUM(iif(Firms.Balance IN (1300, 1301),Firms.amount,0))/100 AS aggregate3
FROM Firms
WHERE Firms.date >= #12/6/2012 3:54:15 PM#  
GROUP BY Firms.name;

参考文献: