Как я могу решить эту проблему присоединения "выбрать самый дешевый"? - PullRequest
0 голосов
/ 07 ноября 2019

тип проблемы: sql sql сервер: mysql

У меня есть две таблицы, продукты и идентификаторы продукта. Я получаю эти данные из трех API. Проблема в том, что я должен избегать дубликатов при выборе, но поставщики иногда используют разные идентификаторы. Я использую Ean-код API, поэтому я получаю Ean-код (13-значный уникальный идентификатор для продуктов), поэтому эта проблема решена. Продукты имеют два типа идентификатора производителя и код Ean. Я собираю эти данные в таблицу под названием productidentifiers. Столбцы производственного идентификатора: RelationID, Ean, ManufacturerID1, ManufacturerID2, Supplier1OwnID, Supplier2OwnID, Supplier3OwnID

Итак, у меня есть 3 уникальных идентификатора из базы данных поставщика. Я должен выбрать самую дешевую цену, я пытался использовать левые соединения, но она очень, очень, очень медленная. Собственные идентификаторы поставщика - это внешние ключи, связанные с таблицей продуктов. Конечно, таблица продуктов имеет дубликаты, но не в полях данных поставщикаПродукт ID продукта, поэтому в таблице продуктов есть дубликаты продуктов, но не обязательно в данных.

Одно название продукта ASUS-ROG-STRIX GTX-2080
Другое название продукта ASUS ROG STRIX GTX-2080

Но это может быть пустой Ean в первом случае, а во второмЕсли Ean не пуст или числа Ean равны, поэтому я должен использовать productidentifiers для обработки дубликатов и выбрать самый дешевый. У Вас есть какие-то предложения?

столбцы продукта:

  • ProductID
  • ProductName
  • SupplierName
  • Гарантия
  • CanOrder
  • DeliveredPrice
  • SellingPrice
  • DiscountPrice
  • LastModified
...