Мне нужно получить данные о продажах из открытых ордеров, отсортированных по коду. Элементы разделены в таблице запасов по номеру лота (по причинам прослеживаемости), но номера партий не отображаются в таблице заказов. Единственная ссылка между двумя таблицами - это номер детали.Ненужные результаты запроса
Когда мой запрос
ВЫБРАТЬ код, SUM (кол-во * цена) AS Sales из заказов INNER JOIN товара на складе orders.partno = stock.partno GROUP BY код
начали возвращаться странные результаты (очень высокие показатели продаж для данного кода), я изменил его на
ВЫБРАТЬ DISITNCT orders.partno, stock.lot, stock.code из заказов INNER JOIN запас ON orders.partno = stock.partno
и заметил, что если несколько партий данной части есть в наличии все они вернулись
Part1 LOTA код
Part1 LotB код
Part1 LotC код
, что означает, что если клиент заказывает 300 единиц части 1, мой запрос возвращает 900, а мой показатель продаж умножается на 3.
Как я могу обойти это?
Следует отметить, что я не работаю из базы данных, а из группы таблиц, структуры которых иногда могут быть причудливыми.
К сожалению, с таким дизайном вы не можете группировать свои продажи по коду. –