sql中sum()和group by 函数的用法

createtableA(idint,--编号namevarchar(10),--姓名hourfloat--时间)createtableB(idint,--编号namev... create table A(
id int, --编号
name varchar(10), --姓名
hour float --时间
)
create table B(
id int , --编号
name varchar(10), --姓名
hour float --时间
)
insert A values('1','张三','15'),('2','李四','7'),('3','王五','10')
insert B values('1','张三','4.5'),('1','张三','2'),('2','李四','3'),('2','李四','8'),('3','王五','')
用一句sql语句update表A中的hour列,替换A.hour的数据是B.hour,其中B.hour要先汇总(注:表B中的王五列时间为空值)
展开
 我来答
badkano
2017-07-26 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885360
团长

向TA提问 私信TA
展开全部

这个样子?sqlserver?

update a set a.hour=c.hour from a inner join (select id,sum(isnull(hour,0)) hour from b group by id) c on a.id=c.id
更多追问追答
追问
答案对了,我想了好久没写出来,大神你怎么回答过7亿多的问题?
追答
没回答7亿,7亿是帮助过的人数,回答了17万多吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式