利用查询到的结果做为条件去更新

来源:互联网 发布:阿里云oss文件上传 编辑:程序博客网 时间:2024/06/05 20:36

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)

原创粉丝点击