在1个表中总计2列,其中信息来自2个表

时间:2014-01-22 14:50:59

标签: sql ms-access

我有第一个表(tblProduct),其中包含6列。

ProdID, BrandName, ProdType, Manuf, ProdDescript, Price

此表为产品分配价格。

第二个表(tblTransaction),有5列。

TransID, TransDate, ClientID, ProdID, Quantity

此表包含已售出的所有商品以及每种商品的数量。

第3个表(tblTransaction Query)有4列

TransID, Quantity, ProdID, Price

这个用于关联前两个表中的信息,以便在正确的产品旁边有价格。

 SELECT tblTransaction.TransID, Quantity, tblProduct.ProdID, Price
 FROM tblTransaction, tblProduct
 WHERE tblTransaction.ProdID =  tblProduct.ProdID;

第4个表(tblProduct Query)有2列

ProdID, Total_Quantity

我所做的是显示每种产品的总数。 我想要第3列显示每件商品的总价格。 所以每个产品的总数(如果有意义的话)。

 SELECT ProdID, SUM(Quantity) AS Total_Quantity
 FROM tblTransaction AS Query
 GROUP BY ProdID;

如果有帮助,我可以提供数据库文件和屏幕截图。 我是SQL的新手,所以请耐心等待。

我目前正在使用Microsoft Access中的SQL。它在顶部数据库(Access 2000文件格式)

中说

1 个答案:

答案 0 :(得分:0)

 SELECT p.ProdID, SUM(t.Quantity) AS Total_Quantity, sum(t.Quantity * p.Price) as total_value
 FROM tblTransaction AS t
 inner join tblProduct p on p.ProdID = t.ProdID
 GROUP BY ProdID;

请注意,这是总价值,而不是价格。如果您想要平均价格,只需在选择中添加另一列:

AVG(Price)

干杯 -

(修改后的表格/查询混淆)