Отображать самую низкую стоимость товара в различных базах данных, используя только номер детали и стоимость.

У меня есть 3 базы данных (фактический запрос разделен ниже), которые я запросил вместе. Я пытаюсь получить самую низкую стоимость среди 3 на основе одного номера детали MFG. Единственным распространенным является MFG PART NO, поэтому я хотел бы, чтобы в результате была самая низкая цена от всех 3 поставщиков. Я создал запрос на объединение, который выглядит так:

SELECT INGRAM.[MFG NAME], INGRAM.[MFG PART NO], INGRAM.[DESCRIPT 1] AS DESCRIPTION, INGRAM.Cost, INGRAM.MLP AS [LIST PRICE], INGRAM.[INGRAM PARTNO] AS [VENDOR SKU], INGRAM.LGTH AS COO
FROM INGRAM

UNION ALL 

SELECT [SYNNEX CURRENT].[MFG NAME], [SYNNEX CURRENT].[MFG PART NO], [SYNNEX CURRENT].[Part Description] AS DESCRIPTION, [SYNNEX CURRENT].Cost, [SYNNEX CURRENT].MSRP AS [LIST PRICE], [SYNNEX CURRENT].[SYNNEX SKU] AS [VENDOR SKU], [SYNNEX CURRENT].[Country of Origin] AS COO
FROM [SYNNEX CURRENT]

UNION ALL 

SELECT [Digitek Product Catalog].Manufacturer AS [MFG NAME], [Digitek Product Catalog].[Part No] AS [MFG PART NO], [Digitek Product Catalog].Description AS DESCRIPTION, [Digitek Product Catalog].[Unit Price] AS Cost, [Digitek Product Catalog].[List Price], [Digitek Product Catalog].[Part No] AS [VENDOR SKU], [Digitek Product Catalog].[Country Of Origin] AS COO
FROM [Digitek Product Catalog]
ORDER BY [MFG PART NO];

Это объединяет все каталоги в один.

Затем я запускаю другой запрос, чтобы попытаться получить минимальное значение из столбца стоимости, НО, поскольку столбец MFG NAME содержит разные имена для одного и того же производителя (в зависимости от поставщика), а также SKU ПОСТАВЩИКА для них разные.

Мне нужен результат, который отображает всю мою информацию, но возвращает только лучшие цены среди тех же общих элементов MFG PART NO.


person Tommy_D    schedule 09.01.2015    source источник


Ответы (1)


Вы можете сделать это с помощью топ-1 запроса.

Select TOP 1 * FROM <yourunionquery> ORDER BY Cost   

Если есть несколько с одинаковой ценой, вы получите несколько строк. В этом случае просто добавьте еще одно поле в сортировку. НАПРИМЕР. ЗАКАЗАТЬ ПО Стоимость, [Имя MFG]

person AVG    schedule 09.01.2015