我不能在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中做到这一点?
答案 0 :(得分:2)
如果您不介意使用子查询,这将是一种方式:
UPDATE tableA
SET column1 = (
SELECT sum(column2)
FROM tableB
WHERE tableA.coumn3 = tableB.column4);