gpt4 book ai didi

MySQL:更新 2 个表中的所有行匹配另一个查询的结果

转载 作者:行者123 更新时间:2023-11-30 23:10:37 25 4
gpt4 key购买 nike

我有两个具有相同 ID 的表,我想用第二个表中的值更改两个表的 ID。

例如:表_1

ID    TITLE    CONTENT    AUTHOR
1 aaa abcd aaaa
2 aaa abcd aaaa
3 aaa abcd aaaa
4 aaa abcd aaaa

表_2:

ID post_id    post_title    pos_key    value
1 1 aaa a_key 2
2 1 aaa E_key 2000
3 2 aaa b_key 3
4 2 aaa b_key 3
5 2 aaa E_key 2500
6 3 aaa c_key 4
7 3 aaa d_key 5
8 3 aaa E_key 3000
9 4 aaa f_key 6
10 4 aaa E_key 3500

我如何从 Table_2 的值更新所有 Table_1 ID 和 Table_2 post_id,其中在 post_key 行上有 E_key?。

这就是我想要的两个表:

表_1

  ID   TITLE    CONTENT     AUTHOR
2000 aaa abcd aaaa
2500 aaa abcd aaaa
3000 aaa abcd aaaa
3500 aaa abcd aaaa

表_2:

ID   post_id    post_title    pos_key    value
1 2000 aaa a_key 2
2 2000 aaa E_key 2000
3 2500 aaa b_key 3
4 2500 aaa b_key 3
5 2500 aaa E_key 2500
6 3000 aaa c_key 4
7 3000 aaa d_key 5
8 3000 aaa E_key 3000
9 3500 aaa f_key 6
10 3500 aaa E_key 3500

最佳答案

你试过什么?一个好的开始是编写一个 SELECT 查询来提取旧值和新值;从那里将其重写为 UPDATE 通常很简单。我相信这会做到:

UPDATE T1
SET ID = T2.Value
FROM Table_1 AS T1
INNER JOIN Table_2 AS T2 ON T1.ID = T2.post_id
WHERE
T2.pos_key = 'E_key'

UPDATE T2
SET post_id = NewIDs.Value
FROM Table_2 AS T2
INNER JOIN Table_2 AS NewIDs ON T2.post_id = NewIDs.post_id
WHERE
NewIDs.pos_key = 'E_key'

如果我的 MySQL 关闭,我深表歉意,我通常使用 MS SQL。

关于MySQL:更新 2 个表中的所有行匹配另一个查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19912861/

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