sql - SQL 合并所有两个结果并将值从不同的结果中提取到不同的列中
问题描述
我有下面的 ID、税、保险列的税表
同样,我有具有相同列的保险表
现在我希望我的查询结果从两个表中提取所有 ID,从税表中提取税列,从保险表中提取保险列,并使其他值为空,如下所示
我怎样才能在 SQL 中实现这一点?
解决方案
你需要FULL OUTER JOIN
:
select coalesce(t.id, i.id) as id, t.tax, i.insurance
from tax t full outer join
insurance i
on t.id = i.id
order by 1;
推荐阅读
- c - 阶乘尾递归返回模糊数字
- docker - 如何在 GitHub Actions 中构建的 Dockerfile 中使用 github 令牌并尝试克隆私有存储库?
- c# - 如何避免 webapi url 中的 xpath 注入?
- excel - 根据其位置(范围)在excel中选择一个按钮
- angular - 角材料分页/打字稿
- ms-access - 字段值等于另一个表中的最大值
- android - Android文件意外结束
- python - 在 pandas 数据框中查找至少相隔 30 分钟但不是定期 30 分钟间隔的时间戳
- sql - 如何使用 oracle 数值函数对列中的值进行分类
- windows - 带有 EVR 输出的 DirectShow 旋转过滤器