产品 颜色 数量
产品1 红色 100
产品1 蓝色 80
产品2 蓝色 103
产品2 红色 NULL
产品2 红色 89
产品1 红色 100
按产品分类,仅列出各类商品中红色多于蓝色的商品名称及差额数量
drop table products;
create table products(name varchar2(20),color varchar2(20),quantities int);
insert into products values('产品 1','红色',100);
insert into products values('产品 1','蓝色',80);
insert into products values('产品 2','红色',null);
insert into products values('产品 2','蓝色',103);
insert into products values('产品 2','红色',89);
insert into products values('产品 1','红色',100);
commit;
select name, cnt_red - cnt_blue diff
from (select NAME,
sum((decode(COLOR, '红色', nvl(QUANTITIES, 0)))) cnt_red,
sum((decode(COLOR, '蓝色', nvl(QUANTITIES, 0)))) cnt_blue
from products
group by NAME)
where cnt_red > cnt_blue;
NAME DIFF
-------------------- ----------
产品 1 120
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31402276/viewspace-2127300/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31402276/viewspace-2127300/