我在创建每隔几分钟就会在cronjob中运行的SQL语句时遇到问题。
我想对ItemCode
的(ID)相同但每个国家/地区不同的一列进行均衡
表:
+----------+--------+---------+
| ItemCode | OnHand | country |
+----------+--------+---------+
| 08040 | 450 | de |
+----------+--------+---------+
| 08040 | 000 | hu |
+----------+--------+---------+
| 08040 | 145 | si |
+----------+--------+---------+
我想将
OnHand where country = de
放入OnHand where country = hu
。 (对于多个ItemCode
-有7000个)UPDATE sap_items
ON sap_items.ItemCode = sap_items.ItemCode AND
sap_items.country='de'
SET sap_items.OnHand = sap_items.OnHand
WHERE sap_items.country='hu'";
我了解这是错误的。但我不确定如何正确放置它。
最佳答案
您当前的语法已关闭。您可以将UPDATE
与自我联接结合在一起:
UPDATE sap_items AS t1
INNER JOIN sap_items AS t2
ON t1.ItemCode = t2.ItemCode
SET t1.OnHand = t2.OnHand
WHERE t1.country = 'hu' AND t2.country = 'de'