在sql中创建一个表列作为两列的总和

时间:2014-02-14 16:32:18

标签: mysql sql

我有一个表,其中一列是total_price,它存储了存储在另一个表中的项目的价格总和。我想知道如何在SQL中执行此操作。我希望总价格列自动计算价格总和并存储在其列中。换句话说,我需要一个总和所需值的列并默认存储它。

示例:

订单项表格包含数量,pid和总价格字段。

产品表有一个pid和价格字段。

订单项表中的总价格字段应存储(lineitem.quantity * product.price)值。

2 个答案:

答案 0 :(得分:7)

使用此查询创建一个表,其中col3为col1和col2的总和:

    CREATE TABLE [dbo].[Emp](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [varchar](50),
    [Price] [float] NULL,
    [Qty] [float] NULL,
    [total]  AS ([Price]*[Qty])
) ON [PRIMARY]

答案 1 :(得分:2)

如果您需要存储它,您仍然可以创建一个触发器。

create trigger UpdateMyColumn before insert on [yourtable] for each row
begin set new.Col3 = Col1 * Col2;