2

3つのテーブルに参加しようとしています

記事、在庫、販売テーブル ここに画像の説明を入力

テーブル Stock からの QteEntre の合計とテーブル Sold here からの Qte の合計を記事ごとに選択したい s my code

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 に対して QteEntree に対して 2 を乗算した結果を取得し、Qte に対して 3 を乗算した結果を取得します。Sold テーブルに 2 つのレコードがあり、Stock テーブルに 3 つのレコードがあるためです。

どうすればこれを修正できますか?

どうも

4

1 に答える 1

6

サブクエリを使用してこれを試してみてください。

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
于 2012-07-05T03:00:50.207 に答える