SQL Join还是Union?

时间:2013-02-20 16:18:51

标签: sql join union

我有两张桌子:

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。

3 个答案:

答案 0 :(得分:4)

听起来你想要一个UNION。 UNION连接两个表的行,保留列; JOIN将两个不同表的列关联到行中。

您可以重命名构成联合的SELECT中的列:

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

答案 1 :(得分:2)

UNION它们并使用AS通过两个表之间匹配的名称来调用列

答案 2 :(得分:0)

使用union all

[上传代码时出现问题]

select customer, time, program from table1
union all

select customer, time, program from table2

union添加额外处理以删除重复项。