2009-09-30 48 views
0

我有2個表是相似但不相同,所以聯合是不可能的。我需要結合考慮的表格,大約有40列,其中只有20列是共同的。有關最佳方法的任何想法?結合2個不同但相當相似的表

Table1 

ActivityCategory ActivityType Nationality Language 
--------------------------------------------------------- 
Communication  Telephone  French  French 
Meeting    Session  British  English 


Table2 

ActivityCategory ActivityType Nationality Employment 
----------------------------------------------------------- 
Communication  Fax   American  Employed 


Combined Table 

ActivityCategory ActivityType Nationality Language Employment 
---------------------------------------------------------------------- 
Communication  Telephone  French  French 
Meeting    Session  British  English 
Communication  Fax   American     Employed 

回答

5

做一個聯盟,但首先你必須使表結構相同。

在選擇了表1,增加就業作爲一個NULL值列

在選擇了表2,添加語言爲NULL值列

SELECT ActivityCategory, ActivityType, Nationality, Language, NULL AS Employment 
FROM Table1 
UNION 
SELECT ActivityCategory, ActivityType, Nationality, NULL AS Language, Employment 
FROM Table1 
+0

嗨拉吉,我曾想到這一點,但實際上大約有40列只有大約20個常見的列。我希望有一個簡單的方法,但我想我可能只需要採取痛苦的方法,除非你知道另一種方式!? – Mitch 2009-09-30 19:07:38

+0

+1,它也能與40列一起工作,如果不是這種方法,那麼你可以從兩個不同的結果集中工作 – 2009-09-30 19:15:58

+0

我要去用這種方法。謝謝Raj和KM – Mitch 2009-09-30 19:19:34

1

聯盟什麼是可能的工會,後來加入其餘的collumns?

如果你只需要一次就可以做到這一點。我想,即使有一種看法,它可能做到這一點。

1

拉吉的建議是好的,但你大概會想要做一個UNION ALL而不是一個UNION。

BOL

UNION ALL包含所有行成的結果。這包括重複。如果未指定,則刪除重複的行。

使用UNION支付價格以保證沒有重複,但在你的情況下,它聽起來像你不會有重複。

相關問題