Mysql - 具有不同列的2个表的并集

时间:2015-11-22 02:57:24

标签: mysql

我知道主题已经出现在其他主题上,但我的问题是我无法使用union(表1有60列;表2只有7列)。还有另一种方法,而不是创建表2 ... 53空列?

是否可以在一个查询中生成结果?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以通过将不存在的列替换为如下所示的空值来完成此操作

Select Col1, Col2, Col3, Col4, Col5 from Table1
Union
Select Col1, Col2, Col3, Null as Col4, Null as Col5 from Table2

如果列不存在,则将表中的列替换为null。

答案 1 :(得分:0)

可以,因为您可以在选择中添加任意数量的任意列:

select field1, field2, field3 from table1
union
select field4, null, field5 from table2

在上面的例子中,我使用一个常量空值作为第二个字段,但是您可以选择适合另一个表中现有列的数据类型的任何值。