2012-07-05 99 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這是爲我工作了。 –