2012-07-05 3 views
2

им пытаются присоединиться к 3 таблицымножественным MySQL JOIN и с агрегатными функциями

Статья, Сток и Sold таблицы enter image description here

я хочу, чтобы выбрать для каждой статьи сумма его QteEntree из таблицы запасов и суммы из 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 записи в таблице запаса

как я могу это исправить?

ТНХ

ответ

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

ТНХ: D работал отлично –

+0

Thx Это работа для меня тоже. –

Смежные вопросы