我试图在表之间传输一些数据. “NEW”表可以包含多个数据条目,这些条目最初并不意味着“OLD”表中有多个条目.我想从’OLD’表中获取数据并将其复制到新表中,其中NEW.ID是最低的,其中new.OtherID = old.OtherID,基本上是每组NextID的MIN(ID)等于彼此.
‘新’表
ID | OtherID | Data
1 1 NULL
2 1 NULL
3 2 NULL
4 3 NULL
5 3 NULL
‘旧’
OtherID | Data
更新后的“新”表中的预期结果:
ID | OtherID | Data
等等
谢谢!
最佳答案
这就是你如何在MySQL中使用INNER JOIN和UPDATE:
UPDATE NEW n
INNER JOIN (
SELECT
OtherID,MIN(ID) AS ID
FROM NEW
GROUP BY OtherID
) m ON n.ID = m.ID
INNER JOIN OLD o ON n.OtherID = o.OtherID
SET n.Data = o.Data