使用子查询更新表

时间:2019-04-26 14:05:48

标签: mysql subquery update-statement

我正在尝试更新MySQL表,并且不断收到一条消息,指出FROM子句中的“您不能使用目标表标题”进行更新。

这是我的UPDATE语句:

UPDATE titles
SET sales = sales * 0.5
WHERE sales > (SELECT AVG(sales) FROM titles);

我希望平均销售量可以增加0.5个FROM标题。

1 个答案:

答案 0 :(得分:1)

尝试使用子查询建立联接

UPDATE titles t1
INNER JOIN (
  SELECT AVG(sales) my_avg 
  FROM titles
) t2  on t1.sales > t2.my_avg
SET sales = sales * 0.5