Вариант 1-й. Увеличиваем цену товаров на 20%
UPDATE modx_site_tmplvar_contentvalues SET value = ROUND(1.2 * value) WHERE tmplvarid = 1где -
tmplvarid = 1
ID TV параметра с ценойВариает 2-й. Увеличиваем цену товаров на 20%, но уже с условием, если цена товара выше 100, и округляем до десяток, т.е. если цена 109 округлит до 110, 104 до 100 и т.д.
UPDATE modx_site_tmplvar_contentvalues SET value = (ROUND(1.2 * value / 10, 0) * 10) WHERE tmplvarid = 1 AND value > 100
Вариант 3-й. Делает всё то же самое что 1 и 2, но с дополнительной "плюшкой". Все цены округляются теперь не до 10-ок, а по следующему принципу:
если цена от 100 до 103, округлит до 100;
если цена от 104 до 107, округлит до 105;
если цена от 108 до 109, округлит до 110 и т.д.
UPDATE modx_site_tmplvar_contentvalues<br>SET value = (<br>CASE<br> WHEN FLOOR(1.2 * value) % 10 < 4 THEN ROUND(1.2 * value / 10, 0) *10<br> WHEN FLOOR(1.2 * value) % 10 < 5 THEN CEIL(1.2 * value / 5) *5<br> WHEN FLOOR(1.2 * value) % 10 < 8 THEN FLOOR(1.2 * value / 5) *5<br> ELSE CEIL(1.2 * value / 10) * 10<br>END<br>)<br>WHERE tmplvarid = 1 AND value > 100<br>
Комментариев нет