永发信息网

SQL更新语句 请教高手

答案:4  悬赏:0  手机版
解决时间 2021-04-12 18:22
  • 提问者网友:愿为果
  • 2021-04-12 03:44

有AB两表 A表有产品的单价price和数量 B表有订单的总金额(amount) 一张订单有多种产品 (现在假定是ABC三种吧)要求按A表更新B表的订单总金额(建表的时候 amount 随意输入的 不准确)

也就是(产品A的单价*数量+B的+C的=订单总金额)

其中A表的orderId = B表的orderId

这个语句怎么写???

最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-04-12 05:01
update b set amount=a.price*a.quantity(數量)
from a,b
where a.orderid=b.orderid
全部回答
  • 1楼网友:鱼忧
  • 2021-04-12 06:33
Update B Set Amount=A.Amount From (Select OrderID,Amount=Sum(Quantity*Price) From A Group By OrderID) AS A Where B.OrderID=A.OrderID
  • 2楼网友:动情书生
  • 2021-04-12 05:32

敢问楼主B表的表结构是这样的吗?

orderId amount

A 100

B 200

C 300

这只是一个假设,如果是这样好像没办法用UPDATe更新三种商品的总金额吧!

  • 3楼网友:独钓一江月
  • 2021-04-12 05:14
既然A表的orderId = B表的orderId ,那么B表中的amount字段的值也就是总金额应该是对应A表中的其中一个orderId的总金额啊,你说呢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯