合并两个不同日期的表(SQL)

我试图合并两个有不同日期字段的表,但很难找出显示这两个表的最佳方法。

我有一个表有:

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;

给TA打赏
共{{data.count}}人
人已打赏
未分类

Arduino - 通过按钮停止循环

2022-9-8 6:25:38

未分类

我可以将安全系统从angular 6迁移到angular 9吗?

2022-9-8 6:25:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索