mysql 联表 更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 联表 更新相关的知识,希望对你有一定的参考价值。

目标更新T1 中的Bks字段为t2 中endtime-begintime
使用关联更新 t 1TraceID和T2 TraceID有关联,但是关联到 T2 TraceID有多条记录,取 site=bks的多条,并取max(endtime)min(begintime)
update t_time t1,t_diaoyonglian0703 t2
set t1.Bks=max(t2.EndTime)-MIN(t2.BeginTime)
where t1.Date='0703' and t2.Site='bks'
and t1.TraceID=t2.TraceID; 显示错误
1111 - Invalid use of group function

参考技术A update t_time t1
set t1.Bks=
(select max(t2.EndTime) from t_diaoyonglian0703 t2
where t1.TraceID=t2.TraceID and t2.Site='bks')-
(select MIN(t2.BeginTime) from t_diaoyonglian0703 t2
where t1.TraceID=t2.TraceID and t2.Site='bks')
where t1.Date='0703'追问

更新 结果为null SELECT 是不是要用 join?

追答

select t_time t1 t1.Date='0703' 查一下有没有记录

以上是关于mysql 联表 更新的主要内容,如果未能解决你的问题,请参考以下文章

SQL联表进行更新与删除(使用联表条件)

mysql 3张表关联批量更新

mysql大数据量联表查询

sql中如何实现级联表的操作

mysql删除重复数据,保留一条

MySQL联表查询