2011-03-05 30 views
0

我創建了兩個表,每個表都包含一些關於同一實體的條目。我如何編寫查詢來加入條目並在另一個表中創建統一條目?SQL - 加入兩個關於相同實體的表

對於混亂的傢伙感到抱歉。我應該提供一個簡單的例子。

我的兩個表類似於下面,

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

+0

你是什麼意思'關於同一個實體'? – Orbit 2011-03-05 01:20:21

+0

也許你可以分享結構,代碼,任何事情都會很好,肯定會幫助你提供答案 – 2011-03-05 01:23:03

+0

嗨軌道,抱歉的混淆。我應該提供一個簡單的例子。 表1(姓名,身份證,電子郵件,城市,州,電話) 表2(姓氏,名字,電子郵件,性別,身份證) – Lan 2011-03-05 01:24:22

回答

0

喜歡的東西:

INSERT INTO 
    c (machine, address) 
( SELECT 
      a.machine, a.address 
    FROM 
      a 
    UNION 
    SELECT 
      b.machine, b.address 
    FROM 
      b 
); 
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 /電子郵件

編輯顯示所有字段

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