sql - 如何加入多个不均匀的视图
问题描述
我想加入具有不均匀数据的多个视图。让我用示例数据来解释
视图1:
DATE | COL2
150 rows
视图2:
DATE | COL3
30 rows
视图3:
DATE | COL4
15 rows
所以我想获得如下数据:
输出:
DATE | COL2 | COL3 | COL4
150 rows with nulls on some columns
DATE 列是 MONTH:YEAR,例如 02/2019。每个视图都由 DATEPART MONTH 和 YEAR 列组成,并集中在一个列中。所以我不想有重复的 DATE 行。
解决方案
您可以根据日期的联合使用左联接
select t1.date, v1.COL2, v2.COL3, v3.COL4
from(
select date from view1
union
select date from view2
union
select date from view2
) t1
left join view1 v1 on t1.date = v1.date
left join view2 v2 on t1.date = v2.date
left join view1 v3 on t1.date = v3.date
推荐阅读
- excel - 如何连续显示连续的单元格
- kubernetes - 尝试从私有注册表进行 Kubernetes 部署时出错
- oracle - 从 Java 代码调用 SQL 脚本时无法执行,但在 sql developer 中有效
- laravel - Laravel 的背包 - 上传 CSV 并在数据库中存储为 JSON
- azure - azurerm_monitor_diagnostic_setting 中的 Terraform Azurerm 日志和指标分类
- angular - 为什么我不能使用 anguar/material 元素?
- dart - 在 grpc-dart 中设置主机
- swift - 如何在swift中有效地表示htonl?
- android - 传递给 singleArgViewModelFactory 时 ::MainViewModel 是什么意思
- java - 无法使用 jdbc 将 spark 数据集写入数据库