MySQL noob在这里;首先环顾四周,但找不到这个问题的答案。
所以我在MySQL中有两个表,一个(表1),它由一列包含唯一的名称列表(Col1)和另一列包含相应的二进制值(Col2)组成。第二个表(表2)包含一个循环名称列表,其中一个空列等待填充第一个表中的二进制值。我想要做的是,对于Table2中每个重复名称的实例,插入与Table1中匹配的唯一名称相关联的Col2的二进制值。
我知道如何在Excel中执行此操作 - 您只需在包含重复名称的每一行旁边放置以下VLOOKUP语句。在下面的代码片段中,A2是一个重复名称,唯一的名称包含在B列中,二进制值包含在C列中。
=VLOOKUP(A2,$B$2:$C$106095,2,FALSE)
但我不能为我的生活弄清楚如何在MySQL中重现这种效果。我不能使用Excel,因为数据太多了。有人有主意吗?提前谢谢!
答案 0 :(得分:1)
我认为你想要这样的事情(我不知道Excel声明的作用):
UPDATE table2 JOIN table1 ON table1.col1 = table2.col1
SET table2.col2 = table2.col2
WHERE table2.col2 IS NULL
这将更新table2
为空的每一行col2
,根据匹配的table1
列搜索col1
中的相应行。
SELECT table2.col1, table1.col2
FROM table2 JOIN table1 ON table1.col1 = table2.col1