Как получить сумму из объединенной таблицы B с несколькими результатами в одной строке таблицы A? - PullRequest
1 голос
/ 25 ноября 2010

Я разрабатываю программное обеспечение, которое показывает, что пользовательские запасные части искали по различным критериям.

Запасные части находятся в одной таблице (фактически плоская структура спецификации), а запасы - в другой. Количество запаса немного проблематично, поскольку для 1 запасной части может быть от 0 до 5 разных мест (рядов) и разное количество в каждом месте (строке). Это означает, что общий объем запаса должен суммироваться из всех разных мест (строк).

Пусть запасные части находятся в таблице запасные части , а запасы в stockQ . Соединение выполняется с помощью ITEMID , который является запасным ключом в обеих таблицах.

Как мне этого добиться? Обычно один запрос дает от 50 до 500 запасных частей. Я не хотел бы проверять количество на складе для каждой детали по одному.

РЕДАКТИРОВАТЬ: Исправлена ​​ложная пометка, заменен MySQL на оракула. ​​

1 Ответ

6 голосов
/ 25 ноября 2010

Если я правильно понял, вам нужно общее количество, а не количество разных мест.Вы можете достичь этого соединения с суммированным количеством в stockq.Я не уверен насчет синтаксиса mysql, но этот запрос должен выполнить работу

select *
from spareparts S
join (select ITEMID, sum(quantity) as quantity from stockQ group by ITEMID) as Q
on S.ITEMID = Q.ITEMID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...