万利舞蹈老师的照片:高手请进:很复杂的SQL SERVER 查询,做出还给加分!!!

来源:百度文库 编辑:高校问答 时间:2024/05/06 07:13:04
进货表
INNUM CODE NAME INPRICE INQTY INTOTAL INDATE
J001 1001 A商品 10.00 10 100.00 2006-01-01
J002 1001 A商品 9.00 5 50.00 2006-01-02
J003 1001 A商品 12.00 3 36.00 2006-01-03
J004 1001 A商品 10.00 6 60.00 2006-01-04

销售表
OUTNUM CODE NAME OUTPRICE OUTQTY OUTTOTAL OUTDATE
X001 1001 A商品 20.00 5 100.00 2006-01-03
X002 1001 A商品 20.00 6 120.00 2006-01-04
X003 1001 A商品 20.00 7 140.00 2006-01-05

如何根据SQL SERVER语句做出下面的查询(INTOTAL根据:"先进先出法"从进货表算出)

利润表
OUTNUM CODE NAME OUTQTY OUTTOTAL CB LR
X001 1001 A商品 5 100.00 50.00 50.00
X002 1001 A商品 6 120.00 59.00 61.00
X003 1001 A商品 7 140.00 72.00 78.00

注:INNUM--进货单号 CODE--商品编号 NAME--商品名称 INPRICE--进货价 INQTY--进货数量 INTOTAL--进货金额 INDATE--进货日期 OUTNUM--销售单号 OUTQTY--销售数量 OUTTOTAL--销售金额 CB--成本 LR--利润 (先进先出法--CB的算法如下:X001的CB--销售5个 从进货单中查询 J001进了10个 进价为10.00元 所以 X001中的成本就是5*1000=50.00元,X002的CB--销售6个 从进货单中查询 J001中还剩5个可销售 再从J001中取1个进行销售 所以X002的成本就是5*10.00+1*9.00=51.00元 )
我不会用游标,请给个具体的方法,谢谢!

用个存储过程很容易,游标会用吧,