-I我在我的表中的列进行更新。不过,我想只有TP基于从该表中的另一列中的MAX日行执行更新。可以看出下面通常类别列需要每当日期为MAX在日期栏进行更新。
现在这是有点手动工作,因为我有明确定义的日期就像下面的代码。我想代码是这样的更新,只有当日期是MAX。
日期格式为YYYY-MM-DD
Product Number Date category
A 2018-01-01 x
B 2019-01-01 y
C 2020-01-01 z
D 2021-01-01
UPDATE SALES_TOTAL LEFT JOIN Masterdata_MAPEBIAS on SALES_TOTAL.`Product Number` = Masterdata_MAPEBIAS.`Item` and Date = '2021/01/01'
SET
SALES_TOTAL.`Category` = Masterdata_MAPEBIAS.Category;
加入对一个子查询获取最大的日期。我还利用别名使查询更容易阅读
UPDATE sales_total t
LEFT JOIN Masterdata_MAPEBIAS m ON t.`Product Number` = m.item
JOIN (SELECT MAX(date) max_date FROM sales_total) max ON max.max_date = t.sales_date
SET t.category = m.category