我需要UNION两个具有大部分相同列的表,但是其中一个具有几个其他列。我知道您可以为这些额外的列使用占位符进行SELECT,但是我正在处理大约200列,而较大的表中还有大约30个额外的列。这使得键入每列是不合理的。有没有一种方法可以在自动为较小的表中不存在的列设置NULL值的同时合并表?
答案 0 :(得分:2)
简而言之,不。 Unioning
个结果集在一起必须具有相同的编号/数据类型的列。如果您想让其余集合填充为空,则最简单的方法是执行诸如此类的操作-
select col1
, col2
, col3
, col4
from tbl1
union all
select null as col1
, null as col2
, null as col3
, null as col4
from tbl2