首页 > 解决方案 > SQL 合并所有两个结果并将值从不同的结果中提取到不同的列中

问题描述

我有下面的 ID、税、保险列的税表

在此处输入图像描述

同样,我有具有相同列的保险表

在此处输入图像描述

现在我希望我的查询结果从两个表中提取所有 ID,从税表中提取税列,从保险表中提取保险列,并使其他值为空,如下所示

在此处输入图像描述

我怎样才能在 SQL 中实现这一点?

标签: sqlsql-serversql-server-2008

解决方案


你需要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;

推荐阅读