mysql如何加入表

时间:2015-01-21 07:15:53

标签: mysql

结构表1:

tb1_id   tb1_name
1        a
2        b
3        c

table2的结构:

id  name   tb1_id
1   a       ?
2   b       ?
3   c       ?
4   a       ?
5   a       ?
6   b       ?

现在让我们猜测我在 table2 中有超过10000条记录,而在 table1 中有1000条记录,我不知道 tb1_id 我想更新table2并在table1上设置tb1_id。

例如它应该看起来像(table2):

id  name   tb1_id
1   a       1
2   b       2
3   c       3
4   a       1
5   a       1
6   b       2

问候

2 个答案:

答案 0 :(得分:1)

使用Update from Join语法。试试这个。

UPDATE table2 AS a
       JOIN table1 AS b
         ON a.name = b.tb1_name
SET    a.tb1_id = b.tb1_id 

答案 1 :(得分:1)

对于MySQL,

update table2 a
inner join table1 b on
a.id=b.tb1_id
set a.tb1_id=b.tb1_id

对于SQL Server,

update a
set a.tb1_id=b.tb1_id
from table2 a
inner join table1 b on
a.id=b.tb1_id