欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

行列互换有关问题oracle9i

更新时间: 2014-01-05 02:14:38 责任编辑: Author_N1

 

行列互换问题oracle9i
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
*/

--参考方法--
可以使用decode或者case when来转行,不知道9i里面支持不?
--参考方法--
行列转化就是case when 和decode的经典用法
--参考方法--

你的业务不是很清楚 你参考一下这个 如有疑问在联系我
--参考方法--
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:38
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7445/
本文WWW.DOC100.NET DOC100.NET版权所有。