如何在原价的基础上增加百分之十的涨幅?

kyxcudwk  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(828)

返回所选项目的新价格 80% 当前单价的。此新字段应命名为 New_Price 而原来 unit_price 字段应为名称 old_price .
表是 ITEMS 包括 ITEM_ID, TITLE, ARTIST, UNIT_PRICE

wfveoks0

wfveoks01#

最好指定表结构、示例输入和预期输出。
根据上面提到的,你可以使用触发器。对于表中的每个条目,mysql服务器将根据指定的条件触发一个查询。您的查询应该如下所示

mysql> CREATE TRIGGER trig_unitPrice AFTER INSERT ON ITEMS
   FOR EACH ROW SET New_Price= NEW.unit_Price * 0.8;
kgqe7b3p

kgqe7b3p2#

不清楚是要在表中创建新列,还是只想查询表。
新建列
假设price列类型为 DECIMAL(10,2) ,让我们看看台阶。如果数据类型不同,只需根据列设置进行更改。
重命名旧列

ALTER TABLE items CHANGE COLUMN unit_price old_price DECIMAL(10,2) NULL;

创建新列

ALTER TABLE items ADD COLUMN unit_price DECIMAL(10,2) NULL AFTER old_price;

最后,您需要填充这些值

UPDATE items SET unit_price = old_price * 0.8;

查询(无新列)

SELECT
  item_id,
  title,
  artist,
  unit_price AS old_price,
  unit_price * 0.8 AS unit_price
FROM items;

相关问题