我有两张 table
表A如下:
ID NAME VALUE
1 abc 0
2 lmn 0
3 xyz 0
B表如下:
ID SUB_GROUP VALUE
1 Category 1 10
1 Category 2 4
1 Category 3 8
1 Category 4 12
3 Category 1 6
3 Category 2 14
3 Category 3 0
3 Category 4 3
我想通过匹配 ID 列将其 VALUE 列设置为表 B 中的最大 VALUE 来更新表 A,但仅针对表 B 中类别 2 或类别 3 中的值
MySQL 查询可能是什么样的?
最佳答案
UPDATE tableA a
INNER JOIN
(
SELECT ID, MAX(Value) max_val
FROM tableB
WHERE SUB_GROUP IN ('Category 2','Category 3')
GROUP BY ID
) b ON a.ID = b.ID
SET a.VALUE = b.Max_Val
关于mysql - 根据相关表中的最大值更新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14663719/