日期:2014-05-17  浏览次数:20593 次

求指导贴,mySQL数据更新的问题
直接切入了:
有下面两张表
表A:记录用户ID和最后一次登录时间
id           lastLoginTime
1 time1
3 time3
4 time4
7 time7
8 time8
9 time9


表B:记录每个用户所有登录时间
id           LoginTime
1 time101
1 time102
1 time103
1 time1
4 time4
7 time7
8 time8
9 time901
9 time902

现在用update语句把表B里面的每一个用户的最后登录记录 更新为表A中的lastLoginTime

刚试了好一会儿  没有成功,请指教
MySQL 行业数据

------解决方案--------------------

update a
set lastLoginTime = b.LoginTime
from
(
select id,max(LoginTime) LoginTime from b group by id
)b where a.id = b.id

------解决方案--------------------
是想把表B改成这样的数据吗?

表B:记录每个用户所有登录时间
id           LoginTime
1 time1
1 time1
1 time1
1 time1
4 time4
7 time7
8 time8
9 time9
9 time9

如果是这样就非常简单,
update B,A set B.LoginTime = A.lastLoginTime where A.id = B.id