现在需要查询一个滚动一年的数据,比如现在是2023三月份,那就需要查询202203-202303之间的数据,如果没有则显示0,每个月的都要展示出来,这样查有问题
select yearmonth sdusalary from tablea where a.yearmonth between '202203' and '202303'
结果数据是这样,其他的没有。
202204 1610.00
202206 0.00
202206 42393.30
202301 8250.00
这样试试看,可以参考下这个,应该是差不多的 http://t.csdn.cn/HrEY1
SELECT *
FROM ( SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2022-03', 'yyyy-MM'), ROWNUM - 1),
'yyyyMM') AS yearmonthlist
FROM DUAL
CONNECT BY ROWNUM <=
months_between(to_date('202303', 'yyyyMM'),
to_date('202203', 'yyyyMM')) + 1) a
left join tablea b
on a.yearmonthlist= b.yearmonth;