我已经浏览了几篇文章,但无法找到确切的解决方案。这就是我想要的 -
Table1 - column1, column2, column3, amount as column4
Table2 - column1, column2, column3, amount as column4
我使用下面的代码,它对于插入工作正常,但对于更新,它不会更新金额列
下面是代码
INSERT INTO table2 (column1,column2, column3, amount)
SELECT column1, column2, column3, sum(amount)
FROM table1
where column5 != '' and column5 != 'null' and column7 = 'good'
group by column1
ON DUPLICATE KEY UPDATE amount=SELECT sum(amount) FROM table1 where column5 != '' and column5 != 'null' and column7 = 'good' group by column1;
我知道错误是针对更新部分的,因为当我制作
ON DUPLICATE KEY UPDATE amount=0
时,它可以工作并且所有行都更新为 0
我在更新部分做错了什么。
感谢您提前提供的帮助。
我想要更新查询部分才能工作。
将
()
放在子查询周围。如下:
ON DUPLICATE KEY UPDATE amount = (SELECT sum(amount) FROM table1 where column5 != '' and column5 != 'null' and column7 = 'good' group by column1);