2014-02-14 104 views
2

我有一個表,其中一列是total_price,它存儲了存儲在另一個表中的項目的價格總和。我想知道如何在SQL中執行此操作。我希望總價格欄自動計算價格總和並存儲在其列中。換句話說,我需要一個總和所需值並將其存儲在默認情況下的列。創建一個表列作爲sql中兩列的總和

示例:

訂單項表具有數量,pid和總價格字段。

產品表有一個pid和price字段。

行項目表中的總價格字段應存儲(lineitem.quantity * product.price)值。

+0

爲每個表格提供'SHOW CREATE TABLE tbl_name',併爲所需輸出提供更多信息。 – Alexander

+0

通常情況下,您只需在需要數據時使用聚合查詢來執行此操作。通常不需要單獨存儲這些信息。 –

+0

我的總價格是數量*物品價格。總價格字段不能包含除此之外的其他任何內容。因此,如果我存儲此值,這將會更有意義。 – user1613360

回答

1

如果你需要存儲,你仍然可以創建觸發器。

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

使用此查詢來創建表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] 
相關問題