一、前言
之前在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语句都行。