关于用一张表的结果更新另一张表字段的问题

大牛们,我现在有一张表A,A里面有两个字段,是分别存取开始时间和结束时间的,
我现在想把A的开始时间和结束时间计算出的时间差得到的结果更新到表B的一个字段当中,
两个表通过表中的用户名字进行关联,请问这个语句该怎么实现呢?
我在网上查了好久,自己写的如下
update hrm_train_tutor A
inner JOIN
(
SELECT TIMESTAMPDIFF( minute, u.train_starttime,u.train_endtime) as result from (hrm_train_application u)
)as B
on A.user_name = B.train_tutor
SET A.train_time = B.result
但是并不能运行。。。

1个回答

update hrm_train_tutor A INNER JOIN (
SELECT train_tutor,TIMESTAMPDIFF( minute, hrm_train_application.train_starttime,hrm_train_application.train_endtime) as result from hrm_train_application
)as B
on A.user_name = B.train_tutor
SET A.train_time = B.result

adele_handsome
adele_handsome 回复qq_35156026: UPDATE hrm_train_tutor A INNER JOIN ( SELECT tmp.train_tutor, sum(tmp.result) result FROM ( SELECT train_tutor, TIMESTAMPDIFF( MINUTE, hrm_train_application.train_starttime, hrm_train_application.train_endtime ) AS result FROM hrm_train_application ) tmp ) AS B ON A.user_name = B.train_tutor SET A.train_time = B.result
大约一年之前 回复
qq_35156026
qq_35156026 回复adele_handsome: 你好,现在我有个问题是,这个好像只能更新一次。。。比如说用户A的第一条记录的时间差是20分钟,然后又新增了一条A的记录,这次时间差是30分钟,那合起来应该是五十分钟,我用了这条语句,得到的只是第一次得到的时间差,请问怎么修改好呢。。。
大约一年之前 回复
qq_35156026
qq_35156026 你好,现在我有个问题是,这个好像只能更新一次。。。比如说用户A的第一条记录的时间差是20分钟,然后又新增了一条A的记录,这次时间差是30分钟,那合起来应该是五十分钟,我用了这条语句,得到的只是第一次得到的时间差,请问怎么修改好呢。。。
大约一年之前 回复
weixin_41323617
机智的小沙弥 回复: 123121213
大约一年之前 回复
weixin_41323617
机智的小沙弥 回复: 123
大约一年之前 回复
weixin_41323617
机智的小沙弥 ceshi
大约一年之前 回复
weixin_41323617
机智的小沙弥 123123123
大约一年之前 回复
weixin_41323617
机智的小沙弥 回复adele_handsome: 12123
大约一年之前 回复
qq_35156026
qq_35156026 回复adele_handsome: 好的,谢谢
大约一年之前 回复
adele_handsome
adele_handsome 回复qq_35156026: 是的
大约一年之前 回复
qq_35156026
qq_35156026 哇。。谢谢大牛,我是写少了train_tutor导致查询不了吗?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问