如何根据查询的结果集来批量更新一张表

sysadm_cc 2013-08-15 03:06:28
订单表:TABLE Orders (OrderID, Status, OutStatus)
订单商品明细表:TABLE OrderDet (OrderDetID, OrderID, ProductID, Num)
库存表:TABLE Stock (ProductID, Num, SpellNum)

说明:
Orders.OutStatus /* 出库状态, 1 出库, 0 未出库 */
Stock.Spellnum /* 已分拣数 */
Stock.Num /* 商品库存数量 */
OrderDet.ProductID /* 商品编号 */

商品的分拣数在订单创建时增加,在出库后减少。

需求:
根据Orders表和OrderDet表计算出每种商品的分拣数(real_spellnum),如果与Stock表中的SepllNum值不同,则以计算的real_spellnum值为准,更新Stock.Spellnum。
...全文
378 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sysadm_cc 2013-08-16
  • 打赏
  • 举报
回复
引用 1 楼 soar_angel 的回复:
update stock set spellnum = select sum(orderdet.num) from orders ,orderdet where orders.orderid = orderdet.orderid and OutStatus <> '1' and orderdet.productid = stock.productid
這個不行的。
soar_angel 2013-08-15
  • 打赏
  • 举报
回复
update stock set spellnum = select sum(orderdet.num) from orders ,orderdet where orders.orderid = orderdet.orderid and OutStatus <> '1' and orderdet.productid = stock.productid

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧