0

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

任何帮助,将不胜感激。

4

1 回答 1

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它将删除任何重复记录。

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

于 2012-11-20T23:42:37.343 回答