Food 表中有FoodID,FoodName,FoodPrice项
FoodOrder表中有FoodName,Total,OrderID项(FoodName为int型关联到Food表中FoodID项)
OrderTable表中有OrderID,Amount项要实现OrderTable.Amount=sum((FoodOrder.Total*Food.FoodPrice where FoodOrder.FoodName=Food.FoodID) where FoodOrder.OrderID=OrderTable.OrderID)
食物表中有食物ID名称和价格,食物订单中有食物名和数量,订单表中有订单表ID和总额,要计算总额。希望我的问题表述足够清晰……在线等……
具体的SQL语言如何实现?谢谢帮忙……

解决方案 »

  1.   

    update
       c
    set
       amount=(select sum(b.total*a.foodprice) as num from food a,FoodOrder b where a.foodid=b.FoodName)
    from
       food a,FoodOrder b,OrderTable c
    where
       a.foodid=b.FoodName and b.OrderID=c.OrderID
      

  2.   

    update b
    set b.Amount=a.sm_Price
    from (select b.OrderID,sum(b.Total*a.FoodPrice)  as sm_Price
     from Food a 
      inner join FoodOrder b on a.FoodID=b.FoodName
     group by  b.OrderID
    ) a
     inner join OrderTable b on b.OrderID=c.OrderID
     
      

  3.   


    update b
    set b.Amount=a.sm_Price
    from (select b.OrderID,sum(b.Total*a.FoodPrice)  as sm_Price
     from Food a 
      inner join FoodOrder b on a.FoodID=b.FoodName
     group by  b.OrderID
    ) a
     inner join OrderTable b on a.OrderID=b.OrderID
     
      

  4.   


    UPDATE OrderTable SET
           OrderTable.Amount=SUM(FoodOrder.Total*Food.FoodPrice)
    FROM   Food  INNER JOIN FoodOrder  ON Food.FoodID=FoodOrder.FoodName
                 INNER JOIN OrderTable ON FoodOrder.OrderID=OrderTable.OrderID
      

  5.   


    UPDATE OrderTable SET
           OrderTable.Amount=SUM(FoodOrder.Total*Food.FoodPrice)
    FROM   Food  INNER JOIN FoodOrder  ON Food.FoodID=FoodOrder.FoodName
                 INNER JOIN OrderTable ON FoodOrder.OrderID=OrderTable.OrderID
    GROUP BY Food.FoodID