知识点:decode,sum,计算列,存储过程
业务描述:
产品表
产品编号 尺寸(码) 颜色 数量
1 38 黑 100
1 38 红 10
1 40 黑 50
2 38 黑 100
3 38 红 5
产品名称表
产品编号 产品名称
1 红蜘蛛皮鞋
2 蓝蜘蛛布鞋
3 黑寡妇皮鞋
要求展示报表如下:
统计报表
尺寸/颜色 黑 红
38 200 15
40 50 0
建表:
create table T_SHOES
(
P_ID NUMBER(10),
P_SIZE NUMBER(3),
P_COLOR VARCHAR2(6),
P_NUM NUMBER(5)
);
输入测试数据如下:
select p_id, p_size, p_color, p_num from t_shoes;
P_ID P_SIZE P_COLOR P_NUM
1 38 黑 100
1 38 红 10
1 40 黑 50
2 38 黑 100
3 38 红 5
因为结果集要通过存储过程,所以创建结果统计报表:
create table t_shoes_report
(
P_SIZE NUMBER(3),
P_COLOR VARCHAR2(6),
P_NUM NUMBER(5)
);
创建视图,以提供所有颜色和尺寸的匹配情况(利用了笛卡尔乘积)
create or replace view v_all_products as
select distinct all_size.p_size,all_color.p_color
from
(select distinct t.p_size from t_shoes t ) all_size,
(select distinct t.p_color from t_shoes t) all_color
通过逐步打印,完成以下存储过程的编写:
create or replace procedure sp_report
as
str1 number(3);
str2 varchar2(30000);
begin
delete from t_shoes_report;
for all_size in (select distinct p_size from v_all_products )
loop
--dbms_output.put_line(all_size.p_size);
for all_color in ( select distinct p_color from v_all_products where p_size = all_size.p_size)
loop
--dbms_output.put_line(all_size.p_size||','||all_color.p_color);
--统计
select nvl(sum(t.p_num),0) into str1 from t_shoes t
where t.p_size = all_size.p_size
and t.p_color = all_color.p_color;
--str2 := all_size.p_size||','||all_color.p_color||','||str1;
--dbms_output.put_line(str2);
insert into t_shoes_report(p_size,p_color,p_num)
values(all_size.p_size,all_color.p_color,str1);
end loop;
end loop;
commit;
end ;
测试:
SQL> execute sp_report;
PL/SQL procedure successfully completed
SQL> select * from t_shoes_report;
P_SIZE P_COLOR P_NUM 表A
------ ------- ------
38 黑 200
38 红 15
40 黑 50
40 红 0
在得到上面的数据,可以通过以下方法进行报表显示
报表
尺寸/颜色 黑 红
38 200 15
40 50 0
1、通过java程序将表A数据转化HTML代码,显示为表B
2、通过SQL语句转化
select
t.p_size 尺寸,
sum(decode(t.p_color,'黑',t.p_num)) 黑,
sum(decode(t.p_color,'红',t.p_num)) 红
from t_shoes_report t
group by t.p_size
结果:
尺寸 黑 红
38 200 15
40 50 0
分享到:
相关推荐
16:完善的报表统计功能,报表包括操作员收款报表、会员充值记录、会员卡挂失/换卡历史记录、顾客收/付件消费记录查询、业务一览、业务员业绩统计、顾客撤单历史记录、活跃客户统计、日常收入支出报表等。...
【《白皮鞋》阅读附答案】黑皮鞋白袜子.docx
3D皮鞋模型适用于3D皮鞋模型设计
本软件是一套功能强大、操作简单、易学易懂的专业皮鞋营业管理软件,专门对皮鞋营业中所欲知的每天营业总额、所得利润、存货数量、开货单的等等总数清单与打印功能等。 皮鞋营业管理系统(专业版)是一套功能齐全、...
中班语言鼹鼠的皮鞋车PPT课件.pptx
皮衣上色
美萍鞋业销售管理系统,破解,免狗。有使用说明。自己看清楚在安装,以免以后再次安装出现麻烦问题。
皮鞋行业研究报告
【《擦皮鞋的伴侣》阅读答案】擦皮鞋.docx
皮鞋公司(行业)薪酬管理制度方案-薪酬设计方案资料文集系列.docx
男士皮鞋行业(2021-2026)企业市场突围战略分析与建议.docx
proe模型-女士皮鞋,运用造型方式做出来的模型
皮鞋行业分析报告
某皮鞋厂门户网站开发和设计.docx某皮鞋厂门户网站开发和设计.docx某皮鞋厂门户网站开发和设计.docx某皮鞋厂门户网站开发和设计.docx某皮鞋厂门户网站开发和设计.docx某皮鞋厂门户网站开发和设计.docx某皮鞋厂门户...
皮鞋行业分析报告.ppt
皮鞋行业研究报告.zip
QB_T 1002-2015 皮鞋
刷皮鞋历险记作文.doc
皮鞋行业市场研究报告.ppt