2012-07-05 100 views
2

我尝试加入3个表多个MySQL与聚合函数

文章,股票和销售表 enter image description here

我想选择每篇文章的QteEntree从表中股票和金额总和的JOIN从销售 这里表 QTE的我的代码

Select Article.IdArt, 
     Sum(sold.Qte), 
     Sum(Stock.QteEntree) 
from (((Article) 
     Left Join Sold on Sold.IdArt = Article.IdArt) 
     Left Join Stock on Stock.IdArt = Article.IdArt) 
Group by Article.IdArt 

,但我总是得到(一个例子)为IdArt乘以2得到的QteEntree 并乘以3为Qte 我猜是因为我有2个记录在销售表和3个记录在股票表

我该如何解决这个问题?

THX

回答

5

给这个使用子查询的一个镜头:

select a.IdArt, 
     (select sum(Qte) from Sold where IdArt = a.IdArt group by IdArt) as QteSum, 
     (select sum(QteEntree) from Stock where IdArt = a.IdArt group by IdArt) as QteEntreeSum 
from Article a 
+0

THX:d 工作的罚款 –

+0

THX这是为我工作了。 –