select c.id from t_seae a,t_name c where c.id = a.id and c.status = '考试 ' and a.time is not null and a.time = (select max(b.time) from t_seae b where a.id=b.id ) ; 这条 SQL 得到 我所要的ID 现需要 UPDATE t_name SET t_name.status = '放假 ' WHERE t_name.id = ? /* 用我前面那个SQL的结果
利用where exists
UPDATE t_name t1 SET t1.t_name.status = '放假 ' WHERE exists (select 'a ' from (select c.id from t_seae a,t_name c where c.id = a.id and c.status = '考试 ' and a.time is not null and a.time = (select max(b.time) from t_seae b where a.id=b.id ) ) t2 where t1.id=t2.id)