Как в SQL можно вывести дешевые товары поставщика среди других поставщиков?
Уже который день не могу составить запрос.
Допустим есть, таблица PriceItem (товары) c полями: price_id (id поставщика) cost (цена) brand (бренд товара)
Как имея id поставщика можно вывести дешевые товары этого поставщика среди всех поставщиков, при этом товары должны группироваться по бренду и пройти поиск, а при выводе нам нужны такие данные:
price_id (текущего поставщика) | cost (цена товара) | price_id (поставщика, товар которого идет следующим в списке дешевых). В общем эти три поля.
Можно ли реализовать такое одним запросом или хотя бы двум или трем?
Так не понял про бренд группировку и про поиск
Также не понял -- в результирующих данных нам нужно получить список ВСЕХ твоаров с минимальным соседом? Или в результирующей выборке у произвоидтеля минимальной стоимости товар?
1) "Так не понял про бренд группировку и про поиск"
Может быть несколько товаров с одним брендом, поэтому надо их группировать.
2) Надо получить список дешевых товаров среди всех поставщиков + с минимальным соседом (цену и производителя)
eldar_web,
Если мы получаем у одного поставщика 1 дешевый товар -- зачем по бренду группирвоать?
Один дешевый -- это один дешевый самый и все :) Какая разница какой там бренд ? :)
Максим Федоров, Надо вывести не один товар, а список все дешевых товаров, и если не группировать по брендам, то при сравнении мы можем сравнивать товары разных брендов.
Не совсем понятен вопрос. Очень мало информации.
странная структура таблицы (не понятно где тут первичный ключ и мне кажется подразумеваются еще какие-то поля и связи)
так же не ясно что должно получится в итоге - одну строчку(ид поставщиков и некую цену)?
что значит "текущий поставщик"?
ваша задача сформулирована очень странно.
да как я понял тут нужно формат вывода:
Price_id (по условию выбранного поставщика) | самый дешевый товар этого поставщика внутри каждого бренда (ну или просто самый дешевый товар) | Price_id того поставщика, цена которого выше но наиболее близка к цене из 2 поля
я б попробовала в селекте выбрать и сгрупировать бренды по низкой цене то есть ордером. у тебя выйдет один поставщик со всеми брендами с самыми маленькими ценами. а потом найти всех кроме этого поставщика с маленькой ценой.