sql - 合并具有两个不同日期的表 (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 的重复值,并且感到非常迷茫.. 任何输入都将不胜感激!
解决方案
这是!重复值仅由加入引起id
。从外观上看,您需要加入两者id
并table1.date_1 = table2.date_2
为每个获得一行。另一件事(不清楚您是否已经在没有看到查询的情况下执行此操作)是您需要使用它full outer join
来确保保留两个表中的值,即使一侧没有特定的 ID/日期.
推荐阅读
- keycloak - 如何使用 Keycloak 休息端点在 Keycloak 中获取用户的最后登录会话详细信息?
- python - 如果嵌套字典值中的子字符串存在,则返回父字典?
- c++ - 重复循环中的回文
- java - Android:工具栏导航图标 Onclick 显示强调色
- javascript - javascript中的pushstate/popstate是否正确?
- python - 在烧瓶应用程序上使用 celery 时的元类冲突
- c - 将 2D 数组最后一个元素设置为 NULL 正在删除第一个元素
- laravel - Laravel 6,将多个数组从控制器传递到视图
- django - 线程 django-main-thread 中的异常:
- css - Angular 6 - LESS 动画在部署后不起作用