Я хочу предоставить технической команде по закупкам настройку поставщика по умолчанию, чтобы они знали, где заказать деталь.Это основано на таблице под названием price_book.Для этого мне нужна новая таблица с номером детали, самой дешевой ценой и кодом поставщика, чтобы обработать ее через систему.Как я могу выбрать только поставщика, который предлагает самую низкую цену?
Я делаю это, чтобы упростить процесс заказа для технической группы по закупкам.Я зашел так далеко, что у меня только самая низкая цена на одного поставщика (относительно минимального количества заказа).То, что мне не хватает, это та часть, в которой выбран только один поставщик с самой дешевой ценой.Таким образом, на номер по наименьшей цене с соответствующим поставщиком.
Запрос довольно короткий:
SELECT DISTINCT pb.partno, MIN(pb.purch_price * c.rate) AS 'cheapest_price', pb.supplier
FROM price_book pb
LEFT JOIN currency c ON c.currency = pb.currency
WHERE pb.contract_id <> 0
AND pb.expire_date > Datediff(Day, '31 Dec 1971', Getdate())
AND pb.order_type = 'P'
AND pb.condition = 'N'
GROUP BY partno, supplier
Предложение WHERE не важно, поскольку оно связано с внутренними процессами.
Результатом должен быть список с колонками partnumber, ценой и соответствующим поставщиком.На один номер с поставщиком должна быть только самая низкая цена.