比如一个查询结果是:
日期 班线 检验点 检验员 生产令号 不良合计(台)
2008-12-30 L1 PACKING TESTER M01 10
2008-12-30 L1 PACKING TESTER M02 15 另一个查询结果是:
日期 班线 检验点 检验员 生产令号 故障代码 台数
2008-12-30 L1 PACKING TESTER M01 Q2 5
2008-12-30 L1 PACKING TESTER M01 Q3 4
2008-12-30 L1 PACKING TESTER M01 Q8 2
2008-12-30 L1 PACKING TESTER M02 Q2 1
2008-12-30 L1 PACKING TESTER M02 Q3 2
2008-12-30 L1 PACKING TESTER M02 Q8 3 我现在是新建一张表:
日期 班线 检验点 检验员 生产令号 Q2 Q3 Q8 不良合计(台)
2008-12-30 L1 PACKING TESTER M01 5 4 2 10
2008-12-30 L1 PACKING TESTER M02 1 2 3 15 用存储过程实现这样的功能,你说怎么做呢
日期 班线 检验点 检验员 生产令号 不良合计(台)
2008-12-30 L1 PACKING TESTER M01 10
2008-12-30 L1 PACKING TESTER M02 15 另一个查询结果是:
日期 班线 检验点 检验员 生产令号 故障代码 台数
2008-12-30 L1 PACKING TESTER M01 Q2 5
2008-12-30 L1 PACKING TESTER M01 Q3 4
2008-12-30 L1 PACKING TESTER M01 Q8 2
2008-12-30 L1 PACKING TESTER M02 Q2 1
2008-12-30 L1 PACKING TESTER M02 Q3 2
2008-12-30 L1 PACKING TESTER M02 Q8 3 我现在是新建一张表:
日期 班线 检验点 检验员 生产令号 Q2 Q3 Q8 不良合计(台)
2008-12-30 L1 PACKING TESTER M01 5 4 2 10
2008-12-30 L1 PACKING TESTER M02 1 2 3 15 用存储过程实现这样的功能,你说怎么做呢
解决方案 »
- 求求求!! 一个关于数据库查询的问题
- 请教如何查看数据库日志空间块等待操作占总操作的百分比情况
- 安装Navicati for oracle软件的计算机是否必须安装oracle数据库软件?
- Oracle导入数据库出错,高手请进!!
- win2000下安装oracle9i的问题
- console中如何对表空间进行管理
- 存储过程中使用EXECUTE IMMEDIATE提示权限不足,可是单独执行sql没有问题!
- 有什么办法,能把一个ACCESS数据库定期导入ORACLE
- 如何知道Oracle正在做什么工作?
- 请教oracle8.0.5在win2k advanced server+P4上安装的问题
- 关于一条Sql语句 判断期间
- 关于触发器的问题
select 日期,班线,检验点,检验员,生产令号,
sum(case when 故障代码='Q2' then 台数 then 0 end) Q2,
sum(case when 故障代码='Q3' then 台数 then 0 end) Q3,
sum(case when 故障代码='Q8' then 台数 then 0 end) Q8,
sum(台数) 不良合计
from tb2
group by 日期,班线,检验点,检验员,生产令号
MAX(CASE B.GZDM WHEN 'Q2' THEN B.TS END) Q2,
MAX(CASE B.GZDM WHEN 'Q3' THEN B.TS END) Q3,
MAX(CASE B.GZDM WHEN 'Q8' THEN B.TS END) Q8,
MAX(A.BLHJ) BLHJ
FROM TAB A,TAB1 B
WHERE A.SCHL=B.SCHL
GROUP BY A.DATES,A.BX,A.JYD,A.JYY,A.SCHL
结果:
DATES BX JYD JYY SCHL Q2 Q3 Q8 BLHJ
2008-12-30 L1 PACKING TESTER M01 5 4 2 10
2008-12-30 L1 PACKING TESTER M02 1 2 3 15
查询结果1所用语句是A
查询结果2所用语句是B
从结果看:第2个查询结果是明细,第一个查询语句已经是一个汇总
至于你想要的结果我们在你第2个查询结果所用的语句B的基础上得到
procedure 小娘子
isbegin
insert into 娘子新建的表(rq,bx,jyd,jyy,sclh,Q2,Q3,Q8,sum)
select a.rq,a.bx,a.jyd,a.jyy,a.sclh,
sum(decode(a.gzdm,'Q2',a.sum,0)),
sum(decode(a.gzdm,'Q3',a.sum,0)),
sum(decode(a.gzdm,'Q8',a.sum,0)),
sum(decode(a.gzdm,'Q2',a.sum,'Q3',a.sum,'Q8',a.sum,0))
from (娘子所用语句B(select rq,bx,jyd,jyy,sclh,gzdm,sum from **表 where **条件)a
group by a.rq,a.bx,a.jyd,a.jyy,a.sclh;
exception when others then
----
end;