我知道主题已经出现在其他主题上,但我的问题是我无法使用union(表1有60列;表2只有7列)。还有另一种方法,而不是创建表2 ... 53空列?
是否可以在一个查询中生成结果?
谢谢!
答案 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
在上面的例子中,我使用一个常量空值作为第二个字段,但是您可以选择适合另一个表中现有列的数据类型的任何值。