我正在尝试对4个配置单元表执行完全外部联接。连接键是相同的,但4个表的模式不同。我想为4个表中的所有id生成所有列值。但是id列应该只出现一次,并且包含所有值,而不是4次(每个值来自一个表)
查询1
select count(*)
from table1 f FULL OUTER JOIN table2 u on f.id=u.id
FULL OUTER JOIN table3 v on f.id=v.id
FULL OUTER JOIN table4 v_in on f.id=v_in.id;
计数=2787037
查询2
select count(*)
from table1 f FULL OUTER JOIN table2 u on f.id=u.id
FULL OUTER JOIN table3 v on f.id=v.id
FULL OUTER JOIN table4 v_in on f.id=v_in.id
group by f.id,u.id,v.id,v_in.id, f.name, f.amt, f.add, u.dt, u.ts, v.ea,v.rd,
v_in.c1,v_in.c2,v_in.c3,v_in.c4,v_in.c5;
计数=2787037
如何从一列中的4个表生成id的所有值,以及其他列值?
有没有更好的办法?
1条答案
按热度按时间35g0bw711#
你应该只选择你想要的列。我想你想要
coalesce()
:与
full outer join
你需要很多coalesce()
学生: