MS-Access - 如何在执行查询时添加记录

时间:2012-10-09 08:49:08

标签: sql ms-access

好的,所以这很复杂,但我对Access很新,所以也许这不是很难。

我的数据库中有3个表:

客户 - 这包含基金的所有客户的列表。这些客户中的一些客户在基金中拥有多个账户。结构:

ID | CliName
------------
1  | Joe Blogs Holdings
2  | John Doe Investments
etc...

ClientMap - 这基本上包含所有帐户的列表,另一个字段包含它所属的客户端(此帐户拥有的客户端ID)。< / p>

ID |     AccountName     |      ClientName      | ClientID (refs to ID in Clients)
------------
1  | Joe Blogs Safe Fund | Joe Blogs Holdings   | 1
2  | Joe Blogs Risk Fund | Joe Blogs Holdings   | 1
3  | John Doe Fund       | John Doe Investments | 2
etc...

评估 - 这是任何指定日期每个帐户的值列表。

ID | ValuationDate |   Valuation  | AccName
------------
1  |  30/09/2012   |   1,469,524  | Joe Blogs Safe Fund
2  |  30/09/2012   |   1,767,134  | Joe Blogs Risk Fund
3  |  30/09/2012   |   239,561    | John Doe Fund
4  |  30/06/2012   |   1,367,167  | Joe Blogs Safe Fund
5  |  30/06/2012   |   1,637,121  | Joe Blogs Risk Fund
6  |  30/06/2012   |   219,241    | John Doe Fund

好的,所以我想运行一个查询,从客户表中列出一个选定的客户端,并返回所有帐户的估值总和。例如。 John Doe只有一个帐户,因此查询结果如下所示:

ClientName           |  ValuationDate | Valuation
----
John Doe Investments |   30/09/2012   | 239,561
John Doe Investments |   30/06/2012   | 219,241 

但是,查询应该为Joe Blogs返回类似的内容:

ClientName           |  ValuationDate | Valuation
----
Joe Blogs Holdings   |   30/09/2012   | 3,236,658
Joe Blogs Holdings   |   30/06/2012   | 3,004,288

因此,它添加的每个日期都会找到所有Joe Blogs帐户的总数,以便进行总体评估。我该怎么做?

希望这很清楚,那些访问专家能够帮助我。 感谢

到目前为止我有这个,但它没有对每个日期的帐户求和,它只是单独列出它们:

SELECT ClientMap.AccName, Clients.ClientName, Valuations.ValuationDate, Valuations.Valuation
FROM (Clients INNER JOIN ClientMap ON Clients.ID = ClientMap.ClientID) INNER JOIN Valuations ON ClientMap.AccName = Valuations.AccName
WHERE (((Clients.ClientName) Like [Which Client?] & "*"));

1 个答案:

答案 0 :(得分:1)

您应该首先阅读http://www.w3schools.com/sql/
完成后,您将知道在何处以及如何使用聚合函数[在本例中为sum()] 祝你学习顺利好运