如何在MySQL中使用第二个select group by作为数据源来更新表?

如何在MySQL中使用第二个select group by作为数据源来更新表?,mysql,Mysql,我不能在MySQL中这样做 UPDATE tableA, tableB SET tableA.column1 = SUM(tableB.column2) WHERE tableA.column3 = tableB.column4 GROUP BY tableB.column4 ; 我也不能 UPDATE tableA, ( SELECT SUM(tableB.column2) sumB, tableB.column4 FROM tableB GROUP BY tableB.col

我不能在MySQL中这样做

UPDATE tableA, tableB
SET tableA.column1 = SUM(tableB.column2)
WHERE tableA.column3 = tableB.column4
GROUP BY tableB.column4
;
我也不能

UPDATE tableA, 
(
  SELECT SUM(tableB.column2) sumB, tableB.column4
  FROM tableB
  GROUP BY tableB.column4
) t1
SET tableA.column1 = sumB
WHERE tableA.column3 = column4
;
除了它是非法代码之外,我认为您可以理解我试图对上述查询执行的操作。他们两人都有相同的意图


在MySQL中如何实现这一点?

如果您不介意使用子查询,这将是一种方法:

UPDATE tableA
SET column1 = (
    SELECT sum(column2)
    FROM tableB
    WHERE tableA.coumn3 = tableB.column4);

我想问的真正问题是,但由于你的回答是正确的,我不得不创建另一个线程。