как умножить определённый столбец на 8 ?

Статус
В этой теме нельзя размещать новые ответы.

nmDimas2

Постоялец
Регистрация
20 Апр 2010
Сообщения
78
Реакции
13
есть таблица (product) и в ней есть колона цена (price) там указано в долларах. Надо перевести по курсу в грн в ручную долго там 2 тыс. товаров
как создать запрос или как сделать так чтоб все умножить на 8?
 
UPDATE product SET price = price*8 WHERE 1=1(или если не нужно множить всё пишите фильтр).
Можно сделать даже так.
ALTER TABLE ADD price_ua FLOAT;
UPDATE product SET price_ua = price*8 WHERE 1=1;
Что бы не потерять оригинальные цены
 
А вот это вот "WHERE 1=1" зачем?
Можно просто UPDATE product SET price = price*8
 
Зачем апдейт? простейшая функция прокатит на ура, намного быстрее апдейта, и не изменяя ориг. данных:
Код:
CREATE function multiply8 (price integer)
returns integer
return price*8;
Код:
select multiply8(price) from product;
Или простейшая вьюшка :)

Код:
CREATE VIEW `products_usd` AS select <перечисление полей, кроме цены>,price*8 as price from `products`;

Код:
select * from products_usd;

Но с функцией интерестнее, можно прикрутить парсер курсов валют НБУ и показывать в разных валютах (рыночный курс рсчитывается так: нижний - курс НБУ*0,98, верхний НБУ*1,02 - установленое по законодательству колебание в пределах 2% для ком банков)

Код:
CREATE function course(price integer,course float)
returns float
return round((price*course),2);

Код:
Usd:
select course(price,7.95) from products;

Eur:
select course(price,10.45) from products;
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху