2013-02-20 99 views
1

我有兩個表:SQL加入或聯盟?

Customer Time Program 
----------------------------------- 
1   8:05 a 
2   9:38 b 
3   10:45 c 
4   12:00 a 

Customer Time Program 
----------------------------------- 
1   11:30 d 
5   1:45 e 
6   9:45 f 
7   2:15 g 

我希望我的表看起來像:

Customer Time Program 
----------------------------------- 
1   8:05 a 
1   11:30 d 
2   9:38 b 
3   10:45 c 
4   12:00 a 
5   1:45 e 
6   9:45 f 
7   2:15 g 

這真的很簡單,但我的時間列在每個表中不同的名稱和每個表都有一個不同的程序集,所以兩個表中都沒有程序ID。

+0

這是'UNION'。如果「時間」列的名稱不同,則無關緊要。 – 2013-02-20 16:21:26

+0

這非常簡單。你有什麼嘗試? – 2013-02-20 16:22:34

+0

我知道這會非常簡單,我也試過。這個數據庫非常龐大而且複雜,我無法分辨哪一個工作正常,所以我想仔細檢查一下!謝謝! – 2013-02-20 18:09:31

回答

4

聽起來就像你想要一個聯盟。 UNION連接兩個表的行,保留列; JOIN將兩個不同表的列關聯成行。

您可以在使工會的SELECT重命名列:

SELECT Customer, FirstTime AS Time, Program FROM Table1 UNION ALL SELECT Customer, SecondTime AS Time, Program FROM Table2 
2

UNION它們,並使用AS通過

0

使用union all匹配兩個表之間的名稱叫列:

[上傳代碼時出現問題]

select customer, time, program from table1 
union all 

select customer, time, program from table2 

union添加額外的處理來刪除重複項。