У меня есть особый сценарий, в котором я должен назначить скидки, применимые к некоторым автомобильным возможностям, на основе некоторых заданных правил перестановки и комбинации.
Для подробного объяснения у меня есть две таблицы:
В приведенной ниже таблице приведены некоторые необработанные данные обо всех отведениях транспортного средства.
И:
Ниже в таблице приведены правила (перестановка и комбинация) для всех скидок.
Я хочу получить лучшее правило из Правил, основанное на максимальном количестве совпадений переменных в Правилах от Lead.
Как мне написать SQL для этого?
Как то так?
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