一、前言

之前在java代码里,分2步骤:

1.使用select查询一个结果集
2.根据这个结果集,使用update方法更新数据库

二、sql

现在需要不改动代码,用sql实现这个步骤,样例如下:

update a cs inner join 

(

SELECT cs.class_id,cs.user_id FROM a cs,b ss
WHERE cs.class_id = ss.classid AND cs.user_id = ss.user_id
AND cs.isDel IS NULL
AND ss.num >=10

) rrr on cs.user_id=rrr.user_id and cs.class_id=rrr.class_id 

set cs.type = '1';

说明:

1.sql里有一块,先查询出一个符合条件的结果集
2.然后更新a表,用符合条件的结果集里的数据,把符合条件的a表里的type改成1.

三、备注

还有一种方法,可以把符合条件的a表的id查询出来,然后更新a表的type时,根据id更新,使用多条update语句或者使用in语句都行。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐