在sql server中,我们可是使用以下update语句对表进行更新:
UPDATE a SET a.name = (SELECT NAME FROM b) ;
但是在mysql中,不能直接使用set select的结果,必须使用INNER JOIN:
UPDATE a INNER JOIN (SELECT NAME FROM b) c SET a.id= c.id;
inner join(等值连接) 只返回两个表中联结字段相等的行
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
update paiban2 INNER JOIN
(select * from paiban
where paiban.0502day like '5月5日 白班%') as b
set paiban2.0505day = b.0502day
where paiban2.ID = b.ID