0

我希望从我的 Table_A 中更新我的 Table_B 的值,其中 id 匹配并且Table_A.col1值最大。

将其Table_A视为两列B_idcol1Table_B有两列idcol1

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()这里使用。有什么想法吗?

4

2 回答 2

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 ;
于 2013-11-14T19:57:57.313 回答
0
AND TableB.col1 = (select MAX(col1) from TableB)

(注意 AND 而不是 WHERE)

于 2013-11-14T19:30:44.400 回答