如何增加原价的百分比?

时间:2018-09-20 06:26:35

标签: mysql sql database

返回该商品的新价格,该价格是当前单价的80%。此新字段应命名为New_Price,而原始unit_price字段应命名为old_price

表是ITEMS,其中包含ITEM_ID, TITLE, ARTIST, UNIT_PRICE

2 个答案:

答案 0 :(得分:2)

不清楚是要在表中创建新列还是只想查询表。

新列

假设价格列类型为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;

答案 1 :(得分:0)

如果指定表结构,样本输入和预期输出会更好。

基于所提到的内容,您可以为此使用触发器。对于表中的每个条目,MYSQL服务器将根据指定的条件触发查询。您的查询应该看起来像这样

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