3,491
社区成员
发帖
与我相关
我的任务
分享
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