sql - 使用 SELECT 查询将两张表合二为一,将两张表的记录保存在不同的列中
问题描述
我尝试使用 SELECT 查询将两个不同的表合并为一个。我尝试使用 JOIN 和 UNION,但两者都没有完全达到我想要的效果。请参阅下面的两个源表以及我的结果应该是什么样子。
表格1:
case_id | email_id | subject
1 E1 subject_1
2 E2 subject_2
3 E3 subject_3
3 E4 subject_4
表 2:
case_id | document_id | document_name
1 D1 document_1
1 D2 document_2
2 D3 document_3
3 D4 document_4
我想拥有属于案例 1 的所有文件和邮件
结果:
case_id | email_id | subject | document_id | document_name
1 E1 subject_1 null null
1 null null D1 document_1
1 null null D2 document_2
解决方案
一个从不匹配任何行的完整外连接:
select coalesce(t1.case_id, t2.case_id), ...
from t1 full outer join t2 on 0 = 1
where t1.case_id = 1 or t2.case_id = 1;
推荐阅读
- java - 为什么有时 Jain Sip 在收到再见时返回“481 Call Leg/Transaction does Not Exist”?
- java - 线程“主”org.openqa.selenium.WebDriverException 中的异常:java.io.IOException:无法解析 URL:http://localhost:?????/session
- node.js - NodeJs - Fluent-FFMPEG 找不到用于 Firebase 云功能的 FFMPEG
- python - 在 Flask 中导入 python 脚本使其共享
- ruby-on-rails - 多个请求的缓存查询
- python - 如何从特定日期开始抓取网站?
- wordpress - 如何将新 WordPress 文档的 Post ID 存储在该文档的自定义字段中
- node.js - 'npm update' 可以使用全局包吗?
- database - 构建 Firestore 以提高效率和减少读取次数
- python - 解析带有标签的字符串,该位置有时可能会反转