两个表之间的交叉引用

时间:2017-11-10 10:52:32

标签: mysql sql

我有两个具有相同结构的mysql表,并且记录随着时间​​的推移而改变,现在我需要进行比较。 表格为T1T2,两者都有列:

Id,
Name,
Id2.

我已在T1.Id2中存储了第二个表的匹配记录(Name)的引用ID。 因此,例如,在T1中,我有以下值:

id  name      id2
---------------------
1   mario     0   
2   vittorio  0
3   andrea    2
4   giuseppe  3

需要在T2中获得以下结果:

id  name      id2
--------------------
 1  riccardo   0
 2  andrea     3
 3  giuseppe   4
 5  giacomo    0

所以,我需要在第二个表中存储相同记录的第一个表的id。 T1 T1.Id2>0中的T2.Id2我需要在T1.id中设置相应的{{1}} 查询的任何想法?

1 个答案:

答案 0 :(得分:1)

尝试更新加入:

UPDATE table2 t2
INNER JOIN table1 t1
    ON t1.id2 = t2.id
SET t2.Id2 = t1.id
WHERE
    t1.Id2 > 0;