需求:
在PG库中,遇到来源表test中只有2018、2019和2021年数据,缺少2020年数据(如下图所示,而我们需要补全2020年数据满足前端完成折线图开发)
解决:
利用PG库中的generate_series()函数(详细方法可以参考该篇:
https://www.cnblogs.com/mchina/archive/2013/04/03/2997722.html
)创建中间表:
CREATE temporary TABLE A as
(select generate_series((select min(nf) from test), (select max(nf) from test)) as nf from dual)
效果如下图:
接下来只需要进行左连接临时表进行补全可以了
select a.nf,case when b.zb is null then '0' else b.zb end as zb from A a left join test b on a.nf = b.nf