CREATE TABLE ORDER_INFO1
(
order_code VARCHAR2(20),
order_type VARCHAR2(10), --类别只有 A 、B 、F - (A 、B 每个 order_code 只有一个,F 每个 order_code 可有多个 )
order_fee1 NUMBER,
order_fee2 NUMBER,
order_date VARCHAR2(10)
);
INSERT INTO ORDER_INFO1
SELECT '铅笔', 'F', 10, 20, 'CC-201310' FROM DUAL UNION ALL
SELECT '铅笔', 'F', 10, 20, 'CC-201311' FROM DUAL UNION ALL
SELECT '铅笔', 'A', 10, 20, 'CC-' FROM DUAL UNION ALL
SELECT '铅笔', 'B', 10, 20, 'CC-' FROM DUAL UNION ALL
SELECT '水笔', 'F', 10, 20, 'CC-201310' FROM DUAL UNION ALL
SELECT '水笔', 'F', 10, 20, 'CC-201311' FROM DUAL UNION ALL
SELECT '水笔', 'B', 10, 20, 'CC-' FROM DUAL UNION ALL
SELECT '水笔', 'A', 10, 20, 'CC-' FROM DUAL;
/*
要得到的结果:
ORDER_CODE FEE A B 201310 201311
铅笔 order_fee1 10 10 10 10
铅笔 order_fee2 20 20 20 20
水笔 order_fee1 10 10 10 10
水笔 order_fee2 20 20 20 20
或者这种结果也可以
ORDER_CODE A B 201310 201311
铅笔 30 30 30 30
水笔 30 30 30 30
*/oracleselect
(
order_code VARCHAR2(20),
order_type VARCHAR2(10), --类别只有 A 、B 、F - (A 、B 每个 order_code 只有一个,F 每个 order_code 可有多个 )
order_fee1 NUMBER,
order_fee2 NUMBER,
order_date VARCHAR2(10)
);
INSERT INTO ORDER_INFO1
SELECT '铅笔', 'F', 10, 20, 'CC-201310' FROM DUAL UNION ALL
SELECT '铅笔', 'F', 10, 20, 'CC-201311' FROM DUAL UNION ALL
SELECT '铅笔', 'A', 10, 20, 'CC-' FROM DUAL UNION ALL
SELECT '铅笔', 'B', 10, 20, 'CC-' FROM DUAL UNION ALL
SELECT '水笔', 'F', 10, 20, 'CC-201310' FROM DUAL UNION ALL
SELECT '水笔', 'F', 10, 20, 'CC-201311' FROM DUAL UNION ALL
SELECT '水笔', 'B', 10, 20, 'CC-' FROM DUAL UNION ALL
SELECT '水笔', 'A', 10, 20, 'CC-' FROM DUAL;
/*
要得到的结果:
ORDER_CODE FEE A B 201310 201311
铅笔 order_fee1 10 10 10 10
铅笔 order_fee2 20 20 20 20
水笔 order_fee1 10 10 10 10
水笔 order_fee2 20 20 20 20
或者这种结果也可以
ORDER_CODE A B 201310 201311
铅笔 30 30 30 30
水笔 30 30 30 30
*/oracleselect
解决方案 »
- 请教如何在ORACLE上进行JAVA 组件的添加
- ORACLE 创建表
- .NET里面怎么写出ORADC的refresh方法?
- 开发区,贴 了一天了,一个回复的都没有:c# 调用过程,报 {"ORA-01036: 非法的变量名/编号\n"}
- 麻烦各位推荐一下关于数据库数据安全的图书
- 按惯例,散分200!
- 请教:怎么使触发器实现把编号处理为0000001的方法。并求PL/SQL的帮忙文档
- 急求一个有点难度的SQL语句!
- PowerDesigner10里做好了表结构,怎么直接导入倒Oracle9i啊??
- 在linux8下装oracle9i的问题??!在线等待,各位帮帮忙
- 请教函数编译错误
- 求教一个oracle的查询问题
case when XX then X end
MAX(DECODE(ORDER_TYPE,'B',order_fee1+order_fee2,NULL)) AS B,
MAX(DECODE(ORDER_DATE,'CC-201310',order_fee1+order_fee2,NULL)) AS "CC-201310",
MAX(DECODE(ORDER_DATE,'CC-201311',order_fee1+order_fee2,NULL)) AS "CC-201311"
FROM ORDER_INFO1 GROUP BY ORDER_CODE
--如果order_date是变化的,就要实时做动态SQL