我希望从我的Table_A更新我的Table_B的值,其中id匹配,Table_A.col1
值最大。
将Table_A
视为两列B_id
和col1
。 Table_B
有两列id
和col1
UPDATE Table_A, Table_B
SET Table_B.col1 = Table_A.col1
WHERE Table_B.id = Table_A.B_id
--WHERE Table_A.col1 is maximal
我知道我的查询的最后一行不正确,但我无法弄清楚如何在这里使用MAX()
。有什么想法吗?
答案 0 :(得分:1)
UPDATE Table_B AS b
JOIN ( SELECT B_id, MAX(col1) AS max_col1
FROM Table_A
GROUP BY B_id
) AS a
ON b.id = a.B_id
SET b.col1 = a.max_col1 ;
答案 1 :(得分:0)
AND TableB.col1 = (select MAX(col1) from TableB)
(介意AND而不是WHERE)