首页 > 解决方案 > 在 PostgreSQL 中合并两个视图

问题描述

我有以下格式的两个视图。

ProductId Version IsAvailable
123       1       Yes
124       1       No
125       1       Yes
126       1       No

ProductId Version IsShippable
123       1       Yes
124       1       Yes
125       1       No
127       1       Yes

我需要将这两个表合并为一个表:

ProductId Version IsAvailable IsShippable
123       1       Yes         Yes
124       1       No          Yes
125       1       Yes         No
126       1       No          Null
127       1       Null        Yes

我如何编写查询来实现这一点?

标签: sqlpostgresqljoin

解决方案


在 2 个视图之间使用完全外连接,如下所示:

select a.ProductId, a.Version, IsAvailable, IsShippable 
from tableA a
full outer join tableB b on a.productid =b.productid and a.version=b.version

推荐阅读