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

oracle话语求教,

更新时间: 2014-01-05 02:10:18 责任编辑: Author_N1

 

Oracle语句求教,急..........................................
例如:
tab1(销售订单表):
编号         客户           业务员             商品           单价           数量           时间  
SO001      1号店          小明               苹果4          3000          200            2013-07-05
SO002      2号店          小明               苹果5          4200          100            2013-08-05
SO003      1号店          小明               苹果4S        3500          300            2013-07-13
SO004      3号店          小明               苹果4          3000          350            2013-08-09
SO005      2号店          小明               苹果5          4100          600            2013-08-18
SO006      4号店          小明               苹果5S         4500         150            2013-09-07
SO001      3号店          小明               苹果4          3100          100            2013-08-23
SO001      4号店          小明               苹果4S        3600          700            2013-09-16
SO001      1号店          小明               苹果4          3200          400            2013-07-22


希望统计得到苹果4的销售数量:
商品         客户           7月数量    8月数量      9月数量
苹果4       1号店           600            0               0
苹果4       3号店            0              450            0

PS:现在有2个参数日期,一个开始日期和结束日期,根据日期来决定查询的月份。
如参数开始日期:2013-05-16,结束日期:2013-09-17
那么我查询到的月份字段就有5月数量、6月数量、7月数量、8月数量、9月数量,而5月份的数据必须是5月16号之后的,同样,9月统计的数量必须是9月17号之前的。

求语句,我现在的做法是根据2个日期得到月份,然后循环月份,把月份放进SQL语句执行,每个月每个月的查,如果我2个日期区间有10个月,那么我一条数据就要访问10次数据库,导致查询效率大大降低。查询到的数据还没100条,却要花上将近1分钟的时间。像这种直接统计的不会啊,求大神
--参考方法--
test  试试看可以么


CREATE OR REPLACE PROCEDURE P_TEST (B_DATE IN DATE,E_DATE IN DATE)
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

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