我有两个表与相同的信息包括: id,姓名,地址,邮政编码,电话号码。但是,每个表上相同的人的ID是不同的。如何根据其他信息创建一个与id匹配的人行横道表?
例如)
Table1
ID | Name | Address | Zip | Phone
-----------------------------------------------------
1111 | John Doe | 123 Fake St | 12345 | 123-456-7890
-----------------------------------------------------Table2
ID | Name | Address | Zip | Phone
-----------------------------------------------------
2222 | John Doe | 123 Fake St | 12345 | 123-456-7890
-----------------------------------------------------理想的人行横道
Table1ID | Table2ID
---------------------
1111 | 2222
---------------------任何洞察力都将不胜感激。谢谢!
发布于 2013-11-05 00:10:03
可以将匹配的列上的两个表连接起来,如下所示:
SELECT Table1.ID AS Table1ID, Table2.ID AS Table2ID
FROM Table1
INNER JOIN Table2 ON Table1.Name = Table2.Name
AND Table1.Address = Table2.Address
AND Table1.Zip = Table2.Zip
AND Table1.Phone = Table2.Phone在这里,我加入了所有的列,你必须把它调整成真正匹配的.
发布于 2013-11-05 00:14:19
正如我们所解释的in this article and comments,您可以通过表别名使用JOIN来匹配两个表中的所有列:
SELECT t1.id Tab1Id, t2.id Tab2Id
FROM t1
INNER JOIN t2 on tb1.name = t2.name
INNER JOIN t2 tb2_1 on t1.address = tb2_1.address
INNER JOIN t2 tb2_2 on t1.zip = tb2_2.zip
INNER JOIN t2 tb2_3 on t1.phone = tb2_3.phonehttps://stackoverflow.com/questions/19778971
复制相似问题