![](/img/trans.png)
[英]How do I insert a column of values from one table to another, non-matching schemas?
[英]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
这将更新table2
中col2
为空的每一行,根据匹配的col1
列在table1
中搜索相应的行。
顺便说一句,你有理由这样做吗? 选择数据时为什么不直接连接两个表? 例如:
SELECT table2.col1, table1.col2
FROM table2 JOIN table1 ON table1.col1 = table2.col1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.