Я объединяю две таблицы (отгрузки и возвраты) и использую группу по, чтобы просмотреть итоги по определенным критериям.Две таблицы связаны через shipment_id.этот столбец в основном уникален, но содержит несколько дубликатов, поскольку каждая партия может содержать более одной позиции, которая также содержится в таблице.
Я пытаюсь подсчитать все отдельные партии, сгруппированные по складу, продавцу,и размер.считать (отличный работает отлично, но не сообщает правильную информацию при использовании с группой, если диапазон группируемых элементов является значительным.
Запрос ниже возвращает 7 отправлений (добавлено) 4 возврата (также добавлено).Хотя при небольшом количестве тестовых данных у меня правильное количество возвратов, в действительности существует 6 отдельных отправлений, а не 7. С помощью этого запроса я в основном просматриваю все отправления и присоединяюсь к информации о возврате, если товар в отправлении былвернул.
select s.warehouse, s.seller, s.size,
count(distinct s.shipment_id) as total_shipments,
count(distinct r.shipment_id) as total_returns
from shipments s
left join returns r
on s.shipment_id = r.shipment_id
group by s.warehouse, s.seller, s.size
Я обеспокоен тем, что созданный мной отчет не будет полностью точным. Есть ли способ обойти эту проблему? Я видел похожие проблемы, но ни одна из них не применима. Iиспользую MYSQL