2017.11.22 mysql数据库实现关联表更新sql语句

比如有两张表,其中一张表某个字段的值要关联另一张表进行统计,就要用到mysql的update方法,并且left join另一张表进行联合查询。

mysql关联表更新统计

sql语句如下:

代码如下 复制代码

UPDATE product p, productPrice pp 
SET pp.price = pp.price * 0.8 
WHERE p.productId = pp.productId 
AND p.dateCreated < '2004-01-01' 

另外一种方法是使用inner join然后更新:

复制代码代码如下:

UPDATE product p 
INNER JOIN productPrice pp 
ON p.productId = pp.productId 
SET pp.price = pp.price * 0.8 
WHERE p.dateCreated < '2004-01-01' ;

注意update,left join,on,set,where的顺序和写法,另外这里统计a.videonum用到select子查询,为什么要这样用,请看这篇文章:mysql执行count错误。