Как я могу написать этот запрос к базе данных MSSQL? - PullRequest
0 голосов
/ 04 октября 2018

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

Для подробного объяснения у меня есть две таблицы:

В приведенной ниже таблице приведены некоторые необработанные данные обо всех отведениях транспортного средства.

И:

Ниже в таблице приведены правила (перестановка и комбинация) для всех скидок.

Я хочу получить лучшее правило из Правил, основанное на максимальном количестве совпадений переменных в Правилах от Lead.

Как мне написать SQL для этого?

1 Ответ

0 голосов
/ 04 октября 2018

Как то так?

SELECT ld.Make, ld.FuelType, MAX(p.Discount)
FROM LeadData ld
  LEFT JOIN Permutation p on (ld.City = p.City OR p.City IS NULL) AND (p.FuelType = ld.FuelType OR p.FuelType IS NULL) AND (ld.Make = p.Make)
GROUP BY ld.Make, ld.FuelType
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...