马战士视频中一道关于sql的题,有点难度,请高手求解
马士兵视频中一道关于sql的题,有点难度,请高手求解
题目:用sql语句完成下列1,2题,至于测试的时候在什么数据库中都可以
Table product1;
产品productName1 颜色color1 数量num1
产品1 红 133
产品1 蓝 126
产品2 蓝 103
产品2 红 null
产品2 红 89
产品1 红 203
1.按产品分类仅列出各类商品中红色多于蓝色的商品名称及差额数量
2.按产品分类,将数据按如下方式进行统计显示
产品productName2 红色rednum 蓝色bluenum
产品1 1500 1298
.........
------解决方案--------------------
题目:用sql语句完成下列1,2题,至于测试的时候在什么数据库中都可以
Table product1;
产品productName1 颜色color1 数量num1
产品1 红 133
产品1 蓝 126
产品2 蓝 103
产品2 红 null
产品2 红 89
产品1 红 203
1.按产品分类仅列出各类商品中红色多于蓝色的商品名称及差额数量
2.按产品分类,将数据按如下方式进行统计显示
产品productName2 红色rednum 蓝色bluenum
产品1 1500 1298
.........
------解决方案--------------------
- SQL code
--1 select productName1,color1, sum(decode(color1,'红',1,0))-sum(decode(color1,'蓝',1,0)) num_ from product1 group by productName1,color1 having sum(decode(color1,'红',1,0)) > sum(decode(color1,'蓝',1,0)); --2 select productName1, sum(decode(color1,'红',1,0)) 红色rednum , sum(decode(color1,'蓝',1,0)) 蓝色bluenum from product1 group by productName1;
------解决方案--------------------
------解决方案--------------------
- SQL code
select productName1,color1, sum(decode(color1,'红',nvl(num1,0),0))-sum(decode(color1,'蓝',nvl(num1,0),0)) num_ from product1 group by productName1,color1 having sum(decode(color1,'红',nvl(num1,0),0)) > sum(decode(color1,'蓝',nvl(num1,0),0))