求一高难度SQL存储过程优化写法。好心人热心人高手都请进了!
公司有套ERP,我做二次开发的时候,需要实现如下功能:
1、首先从config表中取出每一个类别商品的几个属性:
a、五个供应商的ID,
b、商品销售统计的三个时段(如3、5、10天内这一类商品的销售额统计)
c、该类商品备货天数,
d、商品销量筛选设定值(即商品销售统计时销量超过这一设定值的不纳入统计)
2、取得以上属性后,当选择某一类商品并提交后,可以对属于该类的所有商品实现如下统计:
该类别下每一款商品最近一次从五个供应商处进货时的进货价格。需要从a表中取得,这里需要给出供应商ID、商品ID、表单类型为采购入库单
3、该类别下每一款商品在三个时间段内的日平均销售量,以及销量超过设定值后的日平均销售数量,需要从a表中取得,这里需要给出商品ID,日期段,表单类型为销售出库单和销售退库单(在这一表中,销量出库单数量为负值,退库单为正值,即求出特定日期段内特定商品销量出库单和退库单的数量和)
4、该类别下每一款商品的当前库存量。需要从B表中取得。需要给出商品ID即可。
5、从C表中取得商品的全名,最后列表显示出该类别下的每一款商品的上述所有查询结果,并能够实面分页。
由于本人较笨,不知道如何将上述所有要求通过一个查询语句取得,使用了较笨的方法,写了多个SQL SELECT语句在存储过程里,结果每次执行要取得结果要花费十秒钟以上的时间,能不能有更好更优化的方法来缩短这个查询时间呢?
求高手们出招了,小弟在此谢过了!在线恭候了!