繁体   English   中英

MySQL - 如何通过字符串匹配将一个表中的值插入到另一个表中?

[英]MySQL - how to insert values from one table into another with string matching?

MySQL 菜鸟在这里; 首先环顾四周,但找不到这个问题的答案。

所以我在 MySQL 中有两个表,一个(Table1)由一个包含唯一名称列表(Col1)的列和另一个包含相应二进制值(Col2)的列组成。 第二个表 (Table2) 包含一个重复名称列表,其中有一个空列等待用第一个表中的二进制值填充。 我想要做的是,对于 Table2 中重复名称的每个实例,插入 Col2 中与 Table1 中匹配的唯一名称相关联的二进制值。

我知道如何在 Excel 中执行此操作——您只需将以下 VLOOKUP 语句放在包含重复名称的每一行旁边。 在以下代码片段中,A2 是一个重复名称,唯一名称包含在 B 列中,二进制值包含在 C 列中。

=VLOOKUP(A2,$B$2:$C$106095,2,FALSE)

但我无法终生弄清楚如何在 MySQL 中重现这种效果。 我不能使用 Excel 因为数据太多。 有人有想法么? 提前致谢!

我认为您想要这样的东西(我不知道 Excel 语句的作用):

UPDATE table2 JOIN table1 ON table1.col1 = table2.col1
SET table2.col2 = table2.col2
WHERE table2.col2 IS NULL

这将更新table2col2为空的每一行,根据匹配的col1列在table1中搜索相应的行。

顺便说一句,你有理由这样做吗? 选择数据时为什么不直接连接两个表? 例如:

SELECT table2.col1, table1.col2
FROM table2 JOIN table1 ON table1.col1 = table2.col1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM