首页 > 解决方案 > 合并具有两个不同日期的表 (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 的重复值,并且感到非常迷茫.. 任何输入都将不胜感激!

标签: sqldatejoinmergenetezza

解决方案


这是!重复值仅由加入引起id。从外观上看,您需要加入两者idtable1.date_1 = table2.date_2为每个获得一行。另一件事(不清楚您是否已经在没有看到查询的情况下执行此操作)是您需要使用它full outer join来确保保留两个表中的值,即使一侧没有特定的 ID/日期.


推荐阅读