PostgreSQL中合并同结构年度表并添加来源年份字段创建视图
在PostgreSQL中创建包含两表UNION结果并带年份标识的视图
很简单,我们可以通过CREATE VIEW结合UNION ALL(或UNION)来实现这个需求,直接上可运行的代码:
CREATE VIEW combined_docs AS SELECT id, name, org, slo, dok, 2015 AS year FROM 15_docs UNION ALL SELECT id, name, org, slo, dok, 2016 AS year FROM 16_docs;
关键细节说明:
- 视图命名:这里我把视图命名为
combined_docs,你可以根据业务需求改成更贴合场景的名字。 - 年份标识字段:通过在每个
SELECT语句中新增2015 AS year和2016 AS year,直接给不同表的数据打上来源年份的标记。如果需要年份以字符串形式存储,改成'2015' AS year即可。 - UNION vs UNION ALL:
- 用
UNION ALL会直接合并两个结果集,保留所有数据(包括重复行),执行效率更高,适合不需要去重的场景。 - 如果你需要自动去除两个表中的完全重复数据(比如同一
id的记录在两个表中完全一致),可以把UNION ALL替换成UNION。
- 用
验证视图效果
创建完成后,你可以通过以下语句查询视图,确认结果是否符合预期:
SELECT * FROM combined_docs;
内容的提问来源于stack exchange,提问作者Levvy
相关产品推荐
相关产品推荐

