使用ACCESS数据库进行SQL联接和求和
我是一个新手程序员,对SQL的了解非常有限。我已经尝试了几个小时,阅读了所有我能找到的资源,但似乎不知道如何连接这两个表并使用ACCESS数据库获取发票总价值 TblInvoices使用ACCESS数据库进行SQL联接和求和,sql,Sql,我是一个新手程序员,对SQL的了解非常有限。我已经尝试了几个小时,阅读了所有我能找到的资源,但似乎不知道如何连接这两个表并使用ACCESS数据库获取发票总价值 TblInvoices CustomerIDInvoiceAmount tbl客户 CustomerIDCustomerNameCustomerRep 我所需要的只是客户名称、他们的代表和发票的总价值(在某些日期之间可以,但我已经破解了这一点)。我尝试过内部连接和其他我能找到的东西,但运气不好 作为一个想法 "SELECT Custome
CustomerID
InvoiceAmount
tbl客户
CustomerID
CustomerName
CustomerRep
我所需要的只是客户名称、他们的代表和发票的总价值(在某些日期之间可以,但我已经破解了这一点)。我尝试过内部连接和其他我能找到的东西,但运气不好
作为一个想法
"SELECT CustomerName, CustomerRep, Sum(InvoiceAmount) AS INVOICETOTAL
FROM TblCustomers, TblInvoices WHERE TblCustomers.CustomerID = TblInvoices.CustomerID
GROUP BY CustomerID"
任何帮助都将不胜感激。您当前的查询已结束,但由于您在选择中有
CustomerName
和CustomerRep
,因此您需要分组方式
这些列:
SELECT TblCustomers.CustomerName,
TblCustomers.CustomerRep,
Sum(TblInvoices.InvoiceAmount) AS INVOICETOTAL
FROM TblCustomers
INNER JOIN TblInvoices
ON TblCustomers.CustomerID = TblInvoices.CustomerID
GROUP BY TblCustomers.CustomerName, TblCustomers.CustomerRep;
MS Access要求在使用聚合时,选择列表中出现的任何列都包括在聚合函数中或GROUP BY
子句中。如果只希望按客户ID
分组,则还可以使用子查询来获得结果:
SELECT c.CustomerName,
c.CustomerRep,
i.INVOICETOTAL
FROM TblCustomers c
INNER JOIN
(
SELECT Sum(InvoiceAmount) AS INVOICETOTAL,
CustomerID
FROM TblInvoices
GROUP BY CustomerID
) i
ON TblCustomers.CustomerID = i.CustomerID
这可能很方便。。我知道它的sql,但它仍然会给你一些关于这个概念的想法…非常感谢你-我真的很感谢你的时间。现在这是有道理的,解决了我的问题。我想我可以从这里添加WHERE标准。