我需要创建一个触发器,将两个表中的两个字段相乘,但我不知道该怎么做,所以让我们看看你是否可以帮助我。
两张桌子,
产品(产品名称、价格)
订单(product_name(外键),units_ordered)
我需要在表上添加另一个字段,即从产品中乘以价格的订单和从订单中乘以单位的订单,所以:total_price = price(来自产品)X units_ordered(来自订单)
在此先感谢,并为我糟糕的英语感到抱歉。问候
我需要创建一个触发器,将两个表中的两个字段相乘,但我不知道该怎么做,所以让我们看看你是否可以帮助我。
两张桌子,
产品(产品名称、价格)
订单(product_name(外键),units_ordered)
我需要在表上添加另一个字段,即从产品中乘以价格的订单和从订单中乘以单位的订单,所以:total_price = price(来自产品)X units_ordered(来自订单)
在此先感谢,并为我糟糕的英语感到抱歉。问候
你根本不需要触发器。而且您不需要为总价格添加另一列,因为它已经是多余的。
如果您想要他们的总价格,只需在记录投影期间进行。例子
SELECT a.Product_Name,
a.Price,
b.units_ordered,
a.Price * b.units_ordered AS TotalPrice
FROM Products a
INNER JOIN Orders b
ON a.Product_name = b.Product_name
或者你可以创建一个VIEW
你的SELECT
声明。例子,
CREATE VIEW ProductOrder
AS
SELECT a.Product_Name,
a.Price,
b.units_ordered,
a.Price * b.units_ordered AS TotalPrice
FROM Products a
INNER JOIN Orders b
ON a.Product_name = b.Product_name
并从视图中选择,
SELECT * FROM ProductOrder
但是,如果您真的想添加另一列,仍然不能使用触发器。UPDATE
您只需要使用和连接两个表来更新该列的值。假设您的新列TotalPrice
在表“订单”上被调用。
UPDATE Orders a
INNER JOIN Products b
ON a.Product_name = b.Product_name
SET a.TotalPrice = a.units_ordered * b.Price