sql - 合并两个表,包括 Athena (Presto) 中单个列中所有值的联合
问题描述
这是表1:
prof_id title id date0
1 Z 0 4/3
1 A 0 4/3
1 B 0 4/4
1 C 0 4/4
2 C 0 4/6
2 D 0 4/6
2 E 0 4/6
这是表2:
title id date1
A 0 1/2
C 0 1/2
D 0 1/3
E 0 1/3
H 0 1/5
J 0 1/6
我想创建一个这样的表:
prof_id date0 title id date1
1 4/3 Z 0 NA
1 4/3 A 0 1/2
1 4/3 B 0 NA
1 4/4 C 0 1/2
2 4/4 C 0 1/2
2 4/6 D 0 1/3
2 4/6 E 0 1/3
NA NA H 0 1/5
NA NA J 0 1/6
在这种情况下,标题中的列将是标题。我对 SQL 很陌生,所以任何帮助都将不胜感激。
注意:我在 Amazon Athena 上运行它
解决方案
您可以尝试使用完全外连接:
SELECT
t1.prof_id,
t1.date0,
COALESCE(t1.title, t2.title) AS title,
COALESCE(t1.id, t2.id) AS id,
t2.date1
FROM table1 t1
FULL OUTER JOIN table2 t2
ON t1.title = t2.title AND
t1.id = t2.id;
推荐阅读
- html - 摆脱未知的溢出 CSS
- reactjs - react native expo 在我的手机上不起作用我可以在同一个 wifi 下做
- npm - 无法安装 Netlify cms 插件 Gatsby
- node.js - 定义条带订阅发票是否有效的限制
- c++ - 如何在 C++ 中修复这个计算器错误?
- javascript - 无法在 Electron 中打开 PDF 文件
- python - 如何高效地创建多维数组?
- protocol-buffers - Cloud Endpoints 支持 proto3 JSON 转码期间的任何类型
- laravel - 用户验证电子邮件后如何使用 Laravel 8 + Fortify 自定义操作
- c++ - 计算文件(内容)的 CRC