将3个表组合成一个表

时间:2012-11-20 23:36:59

标签: sql-server sql-server-2008

我有三个表具有完全相同的列,唯一的区别是这些列中的数据。我想知道是否(以及如何)将列合并到一个表中。我知道如果合并两个表,数据可以通过布尔值区分,但是可以用三个表完成相同的操作吗?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:4)

如果列和数据类型相同,则可以使用UNION ALL查询。

select col1, col2, 'table1' as src
from table1
union all
select col1, col2, 'table2' as src
from table2
union all
select col1, col2, 'table3' as src
from table3

此版本将包含任何重复记录,如果您不需要重复记录,则可以使用UNION删除任何重复记录。

如果数据类型不相同,则需要将数据转换为相同类型。