注册 登录
编程论坛 SQL Server论坛

SQL如何在视图中实现if判断功能(根据相邻数据条件判断)

echo_gao 发布于 2012-09-12 09:55, 2772 次点击
各位老师
  
只有本站会员才能查看附件,请 登录

  我想要在SQL的视图中,对于“库存预测”这一列通过附件excel这样的if判断功能来实现;
  该数据已经在视图取数时按照物料编码和MO_DATE排序了。在计算“库存预测”时,如果当前行物料编码与上一行物料编码相同,则取上一行的“库存预测”+本行快照点待检+本行快照后新接收+本行当天即将到料-本行需求*0.9.  如果当前行物料编码与上一行物料编码不同,则取本行的 快照点库存+本行快照点待检+本行快照后新接收+本行当天即将到料-本行需求*0.9.
  非常感谢!!!
5 回复
#2
echo_gao2012-09-13 08:40
高人们帮忙看看吧。
难道真的要建一个表存放这个视图数据,然后新建一个过程或者函数来计算“库存预测”列,再用视图将最终结果呈现出来吗?
#3
netlin2012-09-13 15:47
楼主,你给大家出了一个难题了!
用视图进行跨行虚拟字段的处理,难!
不过,你可以考虑用过程或自定义函数来实现,但不用建一个真实的表。
#4
echo_gao2012-09-14 08:35
好的,就用自定义函数实现吧。谢谢楼上的了~
#5
echo_gao2012-09-17 14:53
问题还是通过视图解决了。
目的:通过D0的库存,结合D1~D5的需求数,D1~D5的交货数,做D1~D5的存货预测;
原来的视图:
 抓取字段为物料P/N,D0库存,日期,需求数,交货数。这样布局后,同一颗物料P/N可能出现5行,这样在计算预测存货的时候,就涉及到了跨行虚拟字段的处理问题。

现在的视图:
 抓取字段为 物料P/N,D0库存,D1需求数,D1交货数,D2需求数,D2交货数……D5需求数,D5交货数
在该视图的基础上,再计算物料P/N,D0库存,D1需求数,D1交货数,D1预测库存数,D2需求数,D2交货数,D2预测库存数……D5需求数,D5交货数,D5预测库存数;虽然在计算的时候,同样Dn的库存要将Dn-1 预测库存作为基准计算,但因为都在同一行,所以解决了跨行虚拟字段的处理问题


#6
netlin2012-09-17 23:19
学习了!
1