2

我有两个具有相同字段的表。我希望将这些组合成一张大桌子。每个表的主键是一个唯一的响应者 ID。

当我将这两个表与 UNION ALL 组合在一起时,一些数据被放入错误的字段中!为什么是这样?它们位于原始表中的正确字段中。UNION ALL 是正确的运算符吗?

4

2 回答 2

6

关于联合要记住的是,结果数据集的列名将由联合声明中的第一个表定义。

此外,它们在表结构声明中的顺序将对此产生影响。

如果表 A 定义为名称、地址、电子邮件,而表 B 定义为名称、电子邮件、地址

select * from tableA
union all
select * from tableB

将 tableB.Email 放在别名为“地址”的列中以更正此问题,您必须在 select 语句中定义列:

select Name, Email, Address from tableA
union all
select Name, Email Address from tableB
于 2012-10-14T05:54:23.913 回答
4

UNION ALL 应该是正确的操作,但是您是否在两个部分中都按名称明确列出了字段,或者您是否使用星号作为通配符?

于 2012-10-14T05:54:29.387 回答