try:select a.code,a.num1,nvl(b.num2,0) num2 from
(select sum(num) num1,code from table where name='A' group by code) a,
(select sum(num) num2,code from table where name='B' group by code) b
where a.code=b.code(+);
(select sum(num) num1,code from table where name='A' group by code) a,
(select sum(num) num2,code from table where name='B' group by code) b
where a.code=b.code(+);
select nvl(a.num1,0),a.code,nvl(b.num2,0),b.code from
(select sum(num) num1,code from table where name='A' group by code) a,
(select sum(num) num2,code from table where name='B' group by code) b
where a.code=b.code;
select a.code,a.num1,nvl(b.num2,0) num2 from
(select sum(num) num1,code from table where name='A' group by code) a,
(select sum(num) num2,code from table where name='B' group by code) b
where a.code=b.code(+)
union
select b.code,nvl(a.num1,0),b.num2 from
(select sum(num) num1,code from table where name='A' group by code) a,
(select sum(num) num2,code from table where name='B' group by code) b
where a.code(+)=b.code
(select sum(num) num1,code from table where name='A' group by code) a left join
(select sum(num) num2,code from table where name='B' group by code) b on a.code=b.code