2012-10-05 67 views
1

我有兩個字段,tblIT.Person_Name和tblEng.Full_Name。我想創建一個包含所有從第一個表的名稱,並將它們添加到第二列,它都放到一個主塔的新列在MS Access中合併字段

Person_name 
------------- 
John Smith | 
------------- 
Gary Porter | 

Full_name 
------------- 
Gary Porter | 
------------- 
Nancy Becker| 

我要尋找這樣的:

People 
------------- 
Gary Porter | 
------------- 
Nancy Becker| 
------------- 
John Smith | 

這不是連接,很多人告訴我,它只是加入兩張表。

+0

你到底在問什麼? –

+0

我正在尋找一個完整的名稱列。基本上將一列中的名稱附加到另一列上,但仍然使它們不同。 –

回答

2

創建2代表的聯合。這將清除重複的值。

SELECT Person_name AS People FROM tblIT 
UNION 
SELECT Full_Name FROM tblEng 

如果您希望兩個表中的所有行(包括重複項)都使用UNION ALL,但它看起來像你不想重複。

結果集將不可編輯。

如果要將這些存儲在另一個表的列中,可以插入UNION查詢的結果。 UNION關鍵字可能會因簡單的INSERT語句而導致語法錯誤,所以在INSERT中包含UNION作爲子查詢。

INSERT INTO YourTable (People) 
SELECT sub.People 
FROM 
    (
     SELECT Person_name AS People FROM tblIT 
     UNION 
     SELECT Full_Name FROM tblEng 
    ) AS sub 
+0

看起來像我們都downvoted..hehe –

+0

我喜歡這個答案。但是當它遇到聯盟時我一直在收到錯誤。我正在使用Insert Into,它遇到了麻煩。 –

+1

我沒有意識到UNION會導致我建議的INSERT出錯。嘗試修訂版本。我使用Access 2007中的數據對其進行了測試,並且它對我無影響。 – HansUp

0

使用UNION沒有ALL,因爲它會允許重複)合併所有結果。

SELECT col1 FROM Person_name 
UNION 
SELECT col1 FROM Full_name 

它結合的結果,不加入的結果:)