Состряпал такой запрос:
SELECT
offers.origin_upsell as quantity,
offers.price as price,
cross_rules.fix as fix,
cross_rules.percent as percent,
cross_rules.priority as priority
FROM offers
JOIN orders ON orders.id = offers.order_id
JOIN cross_rules ON cross_rules.client_id = orders.client_id AND (INSTR(offers.code,cross_rules.items)>0 OR INSTR(offers.category,cross_rules.items)>0)
WHERE orders.client_id = 17
AND offers.origin_upsell > 0
AND orders.status_update_at >= '2018-08-21 00:00:00'
AND orders.status_update_at <= '2018-08-21 23:59:59'
Выбирает по определенным критериям товары и подставляет для них из таблицы cross_rules правила оплаты.
Вопрос:
Сейчас выбираются все правила которые удовлетвоярют условию INSTR(offers.code,cross_rules.items)>0 OR INSTR(offers.category,cross_rules.items)>0
Можно ли заапдейтить его так, чтобы для каждого товара выбиралось только одно правило с наибольшим значением priority?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости