У меня есть одна таблица запасов, которая содержит внешний ключ product_id, company_id, size_id и price.
Мне нужно получить общее количество компаний, название продукта (в порядке возрастания), цену и объем (только для наименьшей цены) - для каждого продукта.
Я пытался,
SELECT pr.product_name,
COUNT(DISTINCT stock.company_id) AS total_companies,
sz.size_name,
stock.price
FROM stock
JOIN product pr ON pr.id = stock.product_id
JOIN size sz ON sz.id = stock.size_id
GROUP BY stock.product_id
ORDER BY pr.product_name ASC;
Пока что здесь размер и цена являются случайными для каждого продукта. Если я выберу MIN (stock.price) в запросе выбора, тогда цена будет правильной, но тогда связанный размер будет неправильным. Если я поставлю условие, чтобы выбрать только продукты с минимальной ценой, то количество компаний уменьшится до 1.
Любая помощь или указатели очень ценятся.