使用访问数据库计算和加入

时间:2013-07-29 07:42:13

标签: sql ms-access

很抱歉,如果这对你们来说很简单,但我已经苦苦挣扎多年了:

我有2个表CompaniesQuotes。公司表包含公司的代表,我试图通过代表获得每个公司的报价数量。这两个表由公司表中的'Ref'和报价表中的'CompanyRef'链接。

在一个完美的世界中,列表看起来像是:

Rep,         Company,       (Quote Count)

我认为我最接近的是:

SELECT Companies.Rep, Companies.Company, COUNT(Quotes) AS [Quote Count] 
FROM Companies    
INNER JOIN Quotes ON Companies.Ref = Quotes.CompanyRef 
GROUP BY Companies.Rep, Companies.Company 
ORDER by Count(Quotes) Desc

但我刚刚开始

  

参数太少,预期为1

我还应该提一下,并非每家公司都有分配代表。

感谢任何帮助。史蒂夫。

1 个答案:

答案 0 :(得分:0)

不要在Count子句中使用Table名称,而是指出要计算的列数(使用*表示“不关心”)。如果您在Count函数中拥有该表的名称,则会尝试查找具有该名称的字段...

SELECT Companies.Rep, Companies.Company, COUNT(*) AS [Quote Count] 
FROM Companies    
INNER JOIN Quotes ON Companies.Ref = Quotes.CompanyRef 
GROUP BY Companies.Rep, Companies.Company 
ORDER by Count(*) Desc