代码之家  ›  专栏  ›  技术社区  ›  EEE

根据sql表中另一个变量的值自动设置一个变量的值

  •  0
  • EEE  · 技术社区  · 16 年前

    我是sql新手,如何根据另一个变量的值自动设置一个变量的值。 我有食品价格表,在订单表中,我想根据特定食品的订单数量改变价格的总值。

    1 回复  |  直到 16 年前
        1
  •  2
  •   David Andres    16 年前

    UPDATE Order
    Set TotalPrice = NumberOfItems * 
                     (SELECT Price FROM Food WHERE Food.FoodId = Order.FoodId)
    

    或者,您可以在将订单插入数据库表时获取食品的价格:

    -- Given: @FoodId and @NumberOfItems have been passed to this 
    -- stored procedure as parameters
    DECLARE @price DECIMAL(10, 2) -- or whatever your price is defined to be
    
    SELECT @price = Price
    FROM Food
    WHERE FoodId = @FoodId
    
    INSERT INTO ORDER(FoodId, NumberOfItems, TotalPrice)
    VALUES
    (@FoodId, @NumberOfItems, @NumberOfItems * @Price)