我试图合并两个有不同日期字段的表,但很难找出显示这两个表的最佳方法。
我有一个表有:
id date_1 daily_count
----------------------------
1 1/1/20 1
1 1/2/20 1
1 1/3/20 2
2 1/1/20 3
2 2/1/20 1
我有一个表有: 我有另一个表有:
id date_2
-------------
1 1/1/20
1 1/2/20
1 1/2/20
1 1/4/20
1 1/7/20
2 1/4/20
2 2/1/20
我想显示这样的内容
id date_1 daily_count date_2 date_2_count
------------------------------------------------------
1 1/1/20 1 1/1/20 1
1 1/2/20 1 1/2/20 2
1 1/3/20 2 null null
1 null null 1/4/20 1
1 null null 1/7/20 1
2 1/1/20 3 null null
2 null null 1/4/20 1
2 2/1/20 1 2/1/20 1
可以这样做吗?每当我尝试使用id来连接这两个表时,我一直得到每个date_1的date_2的重复值,感觉超级迷茫……任何意见都将被感激!
解决方案:
你似乎想要一个 full join
:
select coalesce(t1.id, t2.id) as id, t1.date, t1.daily_count,
t2.date, t2.daily_count
from table1 t1 full join
(select t2.id, t2.date, count(*) as daily_count
from table2 t2
group by t2.id, t2.date
) t2
on t1.id = t2.id and t1.date = t2.date;
本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/1148.html