SQL 更新语句:Update ... set ... from ...

本文介绍了一种在数据库中批量更新多个字段的SQL语句技巧,通过子查询将多个字段的汇总值一次性更新到目标表中,适用于报表生成等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做报表,作为数据库只会一个一个来update的我来说就有点艰难了。

今天想来说一下更新多个字段的语句:

update 表名b  set 字段1=a.字段a, 字段2=a.字段b, 字段3=a.字段c... from (表名/select a, b, c, d ... from table [条件])as  a

where  b表的更新条件

 

比如我下面这条语句:想要把所有存货分类为方便面的计划订单量(iSOPlan)、订单量(iSellOrd)、发货量(iDispatch)汇总起来然后作为一条数据更新到发货表的方便面小计中

update fahuo set iSOPlan=v.iSOPlan, iSellOrd=v.iSellOrd, iDispatch=v.iDispatch  from
(SELECT SUM(iSOPlan) as iSOPlan, SUM(iSellOrd) as iSellOrd, SUM(iDispatch) as iDispatch  from fahuo  where iInvClass = '%方便面%')  as  v
where iInvClass='方便面小计'

表结构如下:

产品分类                订单计划量           订单量         发货量

康师傅方便面                30                     36                29

统一方便面                   45                     39                 18

合味道方便面                90                     150               99

方便面小计                    165                     225           146

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值