0

我有 2 个包含相同信息的表格,包括:身份证、姓名、地址、邮政编码、电话号码。但是,每张桌子上同一个人的 ID 不同。如何根据其余信息创建人行横道表以匹配 id?

前任)

表格1

ID   | Name     | Address     | Zip   | Phone
-----------------------------------------------------
1111 | John Doe | 123 Fake St | 12345 | 123-456-7890
-----------------------------------------------------

表2

ID   | Name     | Address     | Zip   | Phone
-----------------------------------------------------
2222 | John Doe | 123 Fake St | 12345 | 123-456-7890
-----------------------------------------------------

所需的人行横道

Table1ID | Table2ID
---------------------
1111     | 2222
---------------------

任何见解将不胜感激。谢谢!

4

2 回答 2

4

您可以在匹配的列上加入两个表,例如:

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-05T00:10:03.610 回答
0

正如本文和评论中所解释的,您可以使用 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.phone
于 2013-11-05T00:14:19.123 回答