返回该商品的新价格,该价格是当前单价的80%
。此新字段应命名为New_Price
,而原始unit_price
字段应命名为old_price
。
表是ITEMS
,其中包含ITEM_ID, TITLE, ARTIST, UNIT_PRICE
答案 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;