2013-02-20 101 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添加额外的处理来删除重复项。