SQL> with a as
2 (select level 月份 from dual connect by level <= 12),
3b as
4 (select 1 id, 1 月份, 10 数量 from dual
5union
6select 1 id, 2 月份, 20 数量 from dual
7union
8select 2 id, 3 月份, 20 数量 from dual
9union
10select 2 id, 4 月份, 12 数量 from dual)
11select b.id, a.月份, nvl(b.数量, 0)
12from a
13left join b
14partition by (b.id)
15on a.月份 = b.月份
16/
1
1
10
1
2
20
1
3
0
1
4
0
1
5
0
1
6
0
1
7
0
1
8
0
1
9
0
1 10
0
1 11
0
1 12
0
2
1
0
2
2
0
2
3
20
2
4
12
2
5
0
2
6
0
2
7
0
2
8
0
2
9
0
2 10
0
2 11
0
2 12
0
24 rows selected |