求一高难度SQL存储过程优化写法。好心人热心人高手都请进了!

sx98083714 2006-05-09 04:48:31
公司有套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语句在存储过程里,结果每次执行要取得结果要花费十秒钟以上的时间,能不能有更好更优化的方法来缩短这个查询时间呢?
求高手们出招了,小弟在此谢过了!在线恭候了!
...全文
198 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonhehe 2006-05-10
  • 打赏
  • 举报
回复
up
fatyee 2006-05-10
  • 打赏
  • 举报
回复
建立个视图啊
sx98083714 2006-05-09
  • 打赏
  • 举报
回复
表config:
typeid 商品大类ID
atypeid A供应商ID
btypeid B供应商ID
ctypeid C供应商ID
dtypeid D供应商ID
etypeid E供应商ID
bt 该类商品备货天数
t1 统计天数1
t2 统计天数2
t3 统计天数3
s 超过S的数量不纳入统计

Inoutstocktable记录所有进出仓库的商品记录:
BillNumberId 表单ID
BillDate 日期
BillType 表单类型,如采购入库单 退库单 订单等
PtypeId 商品ID
BtypeId 供应商ID
Qty 数量
Price 价格
Total 总计

表goodsstocks:统计商品库存
PtypeId 商品ID
Qty 数量,
Price 价格,
Total 总计

表ptype
typeId 商品ID
FullName 商品全名






bugchen888 2006-05-09
  • 打赏
  • 举报
回复
请贴出表结构和数据
redapple2008 2006-05-09
  • 打赏
  • 举报
回复
我好奇,可是不是高手

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧