2013-10-16 44 views
0

我有一个表与以下记录:合并两个查询于一体,SQL的MS Access 2007

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; 

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

我会感谢您的建议和解决方案。谢谢您的考虑。

回答

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; 

参考文献:

+0

哇,这是工作。谢谢。你能否建议如何在此查询中插入日期作为参数? –

+0

更新答案 – Arion