如何遍历表取得所有地点数值并按大小更新到指定表

wx9288 2018-03-24 08:58:23
有两个表
表A存储以下地点的最高存量
地点 历史最高存量【吨】
a-1 133
a-2 65
a-3 22
b-1 222
.......

表B是当前各地点的入库
地点 货物 入库量【吨】
a-1 A 111
a-1 AA 33
a-1 B 11
b-1 CC 11
a-2 VV 22
a-3 ZZ 14
a-3 TT 44
.........

现要求是统计表B 所有地点的入库量...例如当统计a-1,发现入库量合计大于表A 133时候时,将当前的合计量155 更新到表A中,使表A的 a-1 133变为155 如果a-2合计小于表A 65时候时则不更新,
要求最后更新表A得出结果如下
a-1 155 ''更新'
a-2 65
a-3 58 ''更新'
b-1 222
...全文
423 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wx9288 2018-03-27
  • 打赏
  • 举报
回复
谢谢,这对我真有用
唐诗三百首 2018-03-25
  • 打赏
  • 举报
回复

update a
 set a.历史最高存量=b.qty
 from 表A a
 inner join (select 地点,
                    qty=sum(入库量)
             from 表B
             group by 地点) b on a.地点=b.地点
 where a.历史最高存量<b.qty


select * from 表A

/*
地点         历史最高存量
---------- -----------
a-1        155
a-2        65
a-3        58
b-1        222

(4 row(s) affected)
*/

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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