问个更新列的问题

zhouzidane 2006-11-04 02:32:46
有两个表
table a:
name(nchar(10)) day(int)
zhou 0
yang 0
table b:
name(nchar(10)) number(int)
zhou 4
yang 9
zhou 1
zhou 6
yang 8
yang 2
我要做的是把b表的name相同的number值先SUM一下形成
zhou 11
yang 19
然后把这个查询出来的值插入a表
a表就成为了:
name(nchar(10)) day(int)
zhou 11
yang 19
具体用什么方法可以自己定,最好是一次操作就能插入到a表


...全文
125 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xln1325 2006-11-04
  • 打赏
  • 举报
回复
insert into a(aname,aday)
select bname,sum(bday) from b group by bname
StarRains 2006-11-04
  • 打赏
  • 举报
回复
update a.day=b.sday from a inner join (select name,sum(number) sday from b group by name) b ON a.name=b.name
点点星灯 2006-11-04
  • 打赏
  • 举报
回复
create table a(name1 nchar(10),day1 int)

insert a values('zhou',0)
insert a values('yang',0)
go
create table b(name2 nchar(10),number int)

insert b values('zhou',4)
insert b values('yang',9)
insert b values('zhou',1)
insert b values('zhou',6)
insert b values('yang',8)
insert b values('yang',2)

go
--select name2,sum(number) from b group by name2 having name2 in (select distinct name2 from b)
select * from a
select * from b
go
update a set a.day1=c.sumnumber from a a,(select name2,[sumnumber]=sum(number) from b group by name2) c
where a.name1=c.name2
go
select * from a
select * from b
go
drop table a
drop table b
go
StarRains 2006-11-04
  • 打赏
  • 举报
回复
insert into a select name,sum(number) from b group by name
zhouzidane 2006-11-04
  • 打赏
  • 举报
回复
我用
select name,sum(number) from b group by name having name in (select distinct name from b)
能得出
zhou 11
yang 19
但是插入表的时候就犯难了
忘说了,不要使用游标

34,587

社区成员

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

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