表结构及数据:单号 追加序号 明细序号 物料 数量
001 1 1 C1 1
001 1 2 C2 2
001 2 3 C1 3
001 3 1 A1 4
001 3 2 C1 5 查询结果: 物料 数量1 数量2 数量3
C1 1 3 5
C2 2 0 0
A1 0 4 0
001 1 1 C1 1
001 1 2 C2 2
001 2 3 C1 3
001 3 1 A1 4
001 3 2 C1 5 查询结果: 物料 数量1 数量2 数量3
C1 1 3 5
C2 2 0 0
A1 0 4 0
解决方案 »
- listagg 字符串连接的结果过长
- 求助一个关于全表扫描的问题
- orcle快速导入大量数据
- 关于oracle中的UTL_FILE.PUT_LINE/v$access的长时间等待
- 一个简单的问题,急求解答
- 请教sqlldr剔除含某字段特定值的行
- Oracle执行突然变慢
- 紧急求助 再JOB中执行存储过程会报ORA-01422: exact fetch returns more than requested number of rows错误
- 将一个表中的数据分解并存入到多个表中。达人帮忙解决
- ORA-01002: fetch out of sequence(请帮忙,高分)
- 数据库设计
- 求一句SQL,选出某字段中出现若干次“.”的记录。(次数可以指定)
怎么计算的? 把公式讲一下啊 ..
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
select t.物料,sum(t.数量) 数量1,sum(t.数量) 数量2,sum(t.数量) 数量3 form table_name t
group by t.单号,t.追加序号,t.明细序号
decode(追加序号,'1',数量,'') A1,
decode(追加序号,'2',数量,'') A2,
decode(追加序号,'3',数量,'') A3,
...
from 表
group by 物料参考一下吧,也许有用.
sum(decode(追加序号,'1',数量,'')) A1,
sum(decode(追加序号,'2',数量,'')) A2,
sum(decode(追加序号,'3',数量,'')) A3,
...
from 表
group by 物料
(select '001' no,1 mainorder, 1 detailOrder, 'C1' material, 1 qty from dual union all
select '001' no,1 mainorder, 2 detailOrder, 'C2' material, 2 qty from dual union all
select '001' no,2 mainorder, 3 detailOrder, 'C1' material, 3 qty from dual union all
select '001' no,3 mainorder, 1 detailOrder, 'A1' material, 4 qty from dual union all
select '001' no,3 mainorder, 2 detailOrder, 'C1' material, 5 qty from dual)
SELECT material "物料",
SUM(decode(mainorder, 1, qty, 0)) "数量1",
SUM(decode(mainorder, 2, qty, 0)) "数量2",
SUM(decode(mainorder, 3, qty, 0)) "数量3"
FROM material
GROUP BY material;
1:表结构 表T1(单号C1 , 追加序号C2 , 明细序号C3 , 物料C4 , 数量C5 ) 其中primary key (C1, C2,C3)
2:希望的结果 自动查询相同单号C1 不同追加序号C2下的各物料追加次数
3:样式:单号 物料(1) 追加序号(1) 数量(1) 追加序号(2) 数量(2) 追加序号(3) 数量(3) ...
0001 A1 1 0.1 -- -- 3 0.77
0001 A2 1 0.11 2 0.22 -- --
0001 A3 1 -- 2 0.33 3 0.88
0001 A4 1 0.44 2 0.55 -- --