PostgreSQL:追加两个具有不同列的表

永恒1

我想将一张桌子附加到另一张桌子上。两个表可能具有不同的列。结果应该是一个包含所有列的表,并且在其中值不存在的地方,应该是缺少的观察值。数据是时间序列的-由于时间跨度的限制,我从不同的来源获取数据-因此我需要将它们彼此“堆叠”,但可能是添加或删除了另一列。

由于行中有一点重叠,因此我在寻找一种解决方案,该方案将采用第一个表的数据。然后的问题是,对于表1中不存在的那些列,当我在表2中选择表1时,它们也不存在。

当前的解决方案是切除表2,因此没有重叠。

表格1:

date        AA    BB    CC    DD
20100101     9    10    11    12
20100102    10    11    12    13

表2:

date        AA    BB    CC    EE    FF
20100102                99    99    10
20100103    11    12    13    14    10
20100104    12    13    14    15    11

结果应该是

date        AA    BB    CC    DD    EE    FF
20100101     9    10    11    12    
20100102    10    11    12    13    99    10
20100103    11    12    13          14    10
20100104    12    13    14          15    11

因此,实际上,我没有任何建议可以按照此处的建议进行“联接”:具有不同列的两个表的SQL联合

巴巴罗斯·奥赞

coalesce 函数可以像下面这样使用:

select coalesce(t1.date,t2.date) date, 
       coalesce(t1.aa,t2.aa) aa, 
       coalesce(t1.bb,t2.bb) bb,        
       coalesce(t1.cc,t2.cc) cc, 
       t1.dd,
       t2.ee, 
       t2.ff       
  from table1 t1 full outer join table2 t2 on ( t1.date = t2.date );

SQL小提琴演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

两个具有不同列的表的SQL联合

如何连接具有不同列的两个表

选择具有两个不同条件的列连接到两个不同的表

在 PostgreSQL 中连接具有两个条件或两个共同列的表

更新表在不同的行中具有两个具有相同值的不同列

为具有不同列的两个表创建一个选择查询

连接两个表-一个具有不同值的公共列

合并两个具有不同列且没有空值的表

如何合并两个具有不同列号的表,同时删除具有大量列的表的重复项

合并具有不同结构的两个表的结果

SELECT * FROM具有两个不同的表

追加两个具有相同列,不同顺序的数据框

如何从两个具有不同布局的表中选择列

在一列中连接具有不同值的两个表

当联接列具有不同的名称时,如何联接两个表?

SQL:连接具有不同列类型的两个表

如何在aws athena中附加两个具有不同列的表

合并两个表中具有不同列的行?

在具有不同列的两个表之间合并(由IEnumerable <IEnumerable <string >>表示)

两个表上的自然连接具有不同数量的正常工作的列

如何在雪花中合并两个具有不同列号的表?

合并两个具有不同列的表,并在输出中显示null

如果两个表的行在列中具有不同的值,则将它们绑定

如何在具有相同列的两个表中找到不同的行?

根据列值合并具有不同日期的两个表?

如何在删除重复项的同时合并具有不同列号的两个表?

如何合并具有不同列号的两个表?MySQL的

查找并计算具有不同列更改顺序的两个表

在两个不同的表中创建具有相同列的视图 SQL