Я добавил в таблицу oc_product_option_value дополнительное поле "model" (varchar(64)) и внес изменения в движок, которые позволяют использовать префикс цены не только "+ / -", но и оператор "=" (равно).
нашел следующий SLQ запрос у Вас в документации:
Код: Выделить всё
UPDATE oc_product_option_value pov
INNER JOIN etrade_product_attribute_temp pa ON pa.product_id = pov.product_id AND pov.product_option_id = pa.product_option_id AND pov.option_id = pa.option_id AND
pov.option_value_id = pa.option_value_id
INNER JOIN (SELECT uuid, price FROM etrade_product_temp WHERE type_id=1) p ON p.uuid = pa.product_uuid
INNER JOIN (SELECT uuid_parent, price FROM etrade_product_temp WHERE type_id=2) p_option ON p_option.uuid_parent = p.uuid
SET pov.price = p_option.price - p.price;;;
Код: Выделить всё
UPDATE oc_product_option_value pov
INNER JOIN etrade_product_attribute_temp pa ON pa.product_id = pov.product_id AND pov.product_option_id = pa.product_option_id AND pov.option_id = pa.option_id AND
pov.option_value_id = pa.option_value_id
INNER JOIN (SELECT uuid, price, mpn FROM etrade_product_temp WHERE type_id=1) p ON p.uuid = pa.product_uuid
INNER JOIN (SELECT uuid_parent, price FROM etrade_product_temp WHERE type_id=2) p_option ON p_option.uuid_parent = p.uuid
SET pov.price = p_option.price, pov.price_prefix = '=', pov.model = p.mpn ;;;