gpt4 book ai didi

MYSQL 从匹配多列的另一个表中导入列

转载 作者:行者123 更新时间:2023-11-29 01:38:53 29 4
gpt4 key购买 nike

我有两张 table ,一张是这样的:

表 1:

ID- Name-   Code-   Code 2-

1- John- 115-null
2- Rick- 652-null
3- Jones- 886-null
4- James- 554-null
5- Elton- 125-null
6- Craig- 214-null
7- John- 452-null

表 2:

Name-   Code-   Code 2- 

John- 115- a
Rick- 652- b
Jones- 886- c
James- 554- d
Elton- 125- e
Craig- 214- f
John- 452- g
Craig- 886- h
Rick- 115- i

这不是真实数据,并没有那么简单。我需要将表 2 中的代码 2 放入表 1 中的代码 # 列中。为此,我需要同时匹配名称和代码列,以将列“代码 2”中的数据放入列“代码 #”中。它需要匹配至少两列,因为每列中都有重复...

我想以这样的方式结束:

ID- Name-   Code-   Code 2-

1- John- 115-a
2- Rick- 652-b
3- Jones- 886-c
4- James- 554-d
5- Elton- 125-e
6- Craig- 214-f
7- John- 452-g

最佳答案

您可以一次连接多个列的表,例如:

select t1.id, t1.name, t1.code, t2.code2
from t1
inner join t2 on t1.name = t2.name
and t1.code = t2.code

这样(根据您的示例)“John 115”将仅与“John 115”而不是“John 452”匹配,因为仅在两个表之间的名称和代码都相等的情况下才执行连接。 (注意 John 452 也将加入 John 452)。

如果您没有意识到,您可以基于select 构建update 语句。您的更新语句最终看起来像这样:

update t1
inner join t2 on t1.name = t2.name and t1.code = t2.code
set t1.code2 = t2.code2;

这将连接名称和代码匹配的两个表,并将第一个表中的 code2 设置为第二个表中的 code2。

这是一个 SQL Fiddle示例。

关于MYSQL 从匹配多列的另一个表中导入列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31611194/

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