gpt4 book ai didi

mysql - 使用 INNER JOIN 或 MIN 进行更新?

转载 作者:可可西里 更新时间:2023-11-01 07:06:34 24 4
gpt4 key购买 nike

我正在尝试在表之间传输一些数据。 "new"表可以包含多个数据条目,而这些数据最初并不意味着“旧”表中有多个条目。我想从“旧”表中获取数据并将其复制到新表中,其中 NEW.ID 最低,其中 new.OtherID=old.OtherID,基本上每组 OtherID 的 MIN(ID) 等于彼此。

"new"表

ID | OtherID | Data
1 1 NULL
2 1 NULL
3 2 NULL
4 3 NULL
5 3 NULL

“老”

OtherID | Data <br>
1 data1
2 data2
3 data3
4 data4
5 data5

更新后的"new"表的预期结果:

ID | OtherID | Data <br>
1 1 data1
2 1 NULL
3 2 data2
4 3 data3
5 3 NULL

等等

谢谢!

最佳答案

这就是如何将 INNER JOIN 与 UPDATE 结合使用在 MySQL 中:

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

关于mysql - 使用 INNER JOIN 或 MIN 进行更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7335189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com