Sql 使用access数据库进行计数和联接
对不起,这对你们来说很简单,但我已经挣扎了很久了: 我有两个表Sql 使用access数据库进行计数和联接,sql,ms-access,Sql,Ms Access,对不起,这对你们来说很简单,但我已经挣扎了很久了: 我有两个表公司和报价。companys表包含该公司的代表,我正在尝试按代表获取每个公司的报价数量。这两个表通过companys表中的'Ref'和quotes表中的'CompanyRef'链接 在一个完美的世界中,列表将类似于: Rep, Company, (Quote Count) 我认为我最接近的是: SELECT Companies.Rep, Companies.Company, COUNT(Quotes) A
公司
和报价
。companys表包含该公司的代表,我正在尝试按代表获取每个公司的报价数量。这两个表通过companys表中的'Ref'和quotes表中的'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
我还要提到的是,并不是每个公司都有代表
非常感谢您的帮助。Steve。在Count子句中不要使用表名,但要指明要计数的列(使用*表示“不在乎”)。如果在计数函数中有表的名称,access将尝试查找具有该名称的字段
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
感谢rene,但现在我得到了:查询表达式“COUNT(Quotes.*)中的语法错误,我必须在返回时忽略一些明显的内容:…因为返回的参数太少。预计1按(计数(*)的顺序对该Rene进行一次小的更改,结果成功了!拍拍自己的背,谢谢你。