Oracle 自动补充月份
场景描述:数据库中有一张存放月销售数据的表,记录月份及销售额。年初需要查看去年各月份销售总额,可能某月没有销售数据,但又需要显示出该月份,原数据如下
| 序号 | 月份 | 销售额 |
| 1 | 1 | 200 |
| 2 | 3 | 400 |
| 3 | 3 | 300 |
| 4 | 5 | 700 |
最终统计显示如下:
| 序号 | 月份 | 销售额 |
| 1 | 1 | 200 |
| 2 | 2 | 0 |
| 3 | 3 | 700 |
| 4 | 4 | 0 |
| 5 | 5 | 700 |
| 6 | 6 | 0 |
| 7 | 7 | 0 |
| 8 | 8 | 0 |
| 9 | 9 | 0 |
| 10 | 10 | 0 |
| 11 | 11 | 0 |
| 12 | 12 | 0 |
此种场景下,可使用如下SQL 补充缺失数据的月份:
1 select rownum as month from dual connect by rownum <= 12
如此,与统计结果SQL进行外联接,就得到目标报表。
-----------------------------------------------------------------------------------------------------------
薔薇猛虎皆成個性,陽光雨露俱是天恩!
薔薇猛虎皆成個性,陽光雨露俱是天恩!
浙公网安备 33010602011771号