2011-11-08 61 views
0

我目前有2個表在我的數據庫與相同的列。 裏面的數據是不同的,但我需要將它們組合成1個tabel與查詢。我如何選擇2個表格而不互相覆蓋?

我嘗試了連接,但不知何故我得到它覆蓋另一個。

+0

你需要哪些數據?將所有數據從一個移到另一個或第三個表中的所有數據? – CyberDude

回答

1

你不想做一個加入...你想要做一個UNION

比方說,你創建了第一個表是這樣的:

CREATE TABLE customer 
(First_Name char(50), 
Last_Name char(50), 
Address char(50)); 

而且你的第二個表(具有相同的字段)是這樣的:

CREATE TABLE customer2 
(First_Name char(50), 
Last_Name char(50), 
Address char(50)); 

你想UNION語句是這樣的:

SELECT * from customer 
UNION 
SELECT * from customer2; 

當然,你可以選擇特定的字段而不是SELECT *,如果你只是想要。

0

當您使用連接時,您需要爲「重複」列添加別名。類似於

a.mycolumn as column, b.mycolumn as column2 
0

通過這一解決方案,該表並不需要是同文。

SELECT a.id AS id1, b.id AS id2 FROM table_1 a INNER JOIN table_2 b 
1

如果你想從兩個表中的數據,就好像他們是在一個,嘗試使用UNION:
SELECT * FROM tab1
UNION
SELECT * FROM tab2

注:只有在兩個表具有完全相同的列工作。否則,您必須細化選擇要匹配列