在sql server中,我们可是使用以下update语句对表进行更新:
update a set a.xx= (select yy from b) ;
但是在mysql中,不能直接使用set select的结果,必须使用inner join:
update a inner join (select yy from b) c set a.xx = c.yy
例如:
UPDATE t_a
INNER JOIN (
SELECT count(*) AS number FROM t_a WHERE url='www.baidu.com' AND k_3=2
) AS tmp_web
SET k_1=0,k_2='',
k_3=(CASE
WHEN k_3 in (1,2,4) AND k_4!='' AND tmp_web.number < 1 THEN 2
ELSE k_3
END)
WHERE id=604
网友评论