3,494
社区成员




SQL> with a as(
2 select 11 bianhao,1 leixing,3 shuliang from dual union all
3 select 11,2,4 from dual union all
4 select 11,3,6 from dual union all
5 select 12,3,2 from dual union all
6 select 13,2,2 from dual union all
7 select 13,3,3 from dual)
8 ,b as(
9 select 11 bianhao,1 leixing,2 shuliang from dual union all
10 select 11,2,4 from dual union all
11 select 11,3,6 from dual union all
12 select 13,3,1 from dual)
13 select a.bianhao,a.leixing,nvl((a.shuliang-b.shuliang),a.shuliang) shulaing
14 from a,b
15 where a.bianhao=b.bianhao(+)
16 and a.leixing=b.leixing(+)
17 order by a.bianhao
18 /
BIANHAO LEIXING SHULAING
---------- ---------- ----------
11 1 1
11 2 0
11 3 0
12 3 2
13 3 2
13 2 2