Sql 具有不同列数的并集

Sql 具有不同列数的并集,sql,postgresql,Sql,Postgresql,第一个表中有三列,第二个表中有一列存在于第一个表中,我想添加两列 例: 只需添加null或任何其他您喜欢的默认值作为静态列 select c1 as col1, c2 as col2, c3 as col3, null as col4, null as col5 from Table1 union select c1, null, null, c4,

第一个表中有三列,第二个表中有一列存在于第一个表中,我想添加两列

例:


只需添加
null
或任何其他您喜欢的默认值作为静态列

select  c1 as col1, 
        c2 as col2, 
        c3 as col3, 
        null as col4, 
        null as col5
from    Table1
union
select  c1, 
        null, 
        null, 
        c4,
        c5
from    Table2 

你已经问了那个问题,得到了答案-。你是否真的需要一个工会,而不是工会:

select
    t1.c1 as col1,
    t1.c2 as col2,
    t1.c3 as col3,
    t2.c4 as col4,
    t2.c5 as col5
from Table1 as t1
    inner join Table2 as t2 on t2.col1 = t1.col1

你能给我们样本数据和输出吗?这里有两种不同的选择(除了你的问题所指向的那个)。例如,是否要将第一部分的行与第二部分的行关联起来?或者说,这两者之间没有真正的联系?@发条缪斯显然没有;这个问题[已经被问过一次]()和5次要求样本数据的尝试都被忽略了。我开始认为这是根据OP上次的评论得出的答案。这说明了在问题中包含正确细节的重要性,因为“联合”一词将我们引向了完全错误的方向,而缺少示例使得纠正这一点几乎不可能……这回答了问题,但显然不是OP想要问的问题。请参见前面的理解尝试:
select
    t1.c1 as col1,
    t1.c2 as col2,
    t1.c3 as col3,
    t2.c4 as col4,
    t2.c5 as col5
from Table1 as t1
    inner join Table2 as t2 on t2.col1 = t1.col1