SQL - 加入两个关于相同实体的表

时间:2011-03-05 01:19:15

标签: sql

我创建了两个表,每个表包含一些关于同一实体的条目。如何编写查询以加入条目并在另一个表中创建统一条目?

抱歉这些混乱的人。我应该提供一个简单的例子。

我的两张桌子看起来与下面的相似,

表1:Name, ID, email, city, state, phone
表2:LastName, FirstName, email, gender, ID

3 个答案:

答案 0 :(得分:1)

我假设ID是链接两个表的主键。此查询从每个表中选择所选列,并将它们插入表@ U3。


declare @U3 Table(ID int, FirstName varchar(50), LastName varchar(50),  
                  city varchar(50), [state] varchar(50), phone varchar(50),
                  email varchar(50), gender varchar(50))

insert @U3
  select u1.ID, u2.FirstName, u2.LastName, u1.email,
         u1.city, u1.state,u1.phone, u2.gender
  from Table1 u1 
    join Table2 u2 on u2.ID=u1.ID

select * from @U3

答案 1 :(得分:0)

类似的东西:

INSERT INTO
    c (machine, address)
(   SELECT
           a.machine, a.address
    FROM
           a
    UNION
    SELECT
           b.machine, b.address
    FROM
           b
);

答案 2 :(得分:0)

INSERT INTO TableC VALUES (SELECT T1.Name,T1.email,T1.city,T1.state,T1.phone,
T2.Lastname,T2.Firstname,T2.gender FROM Table1 T1 
LEFT JOIN Table2 T2 ON T1.ID = T2.ID)

表C应包含表1和表2的连接结果集中的所有字段,但重复的ID /电子邮件除外

编辑以显示所有字段