一个较难的问题:求一个先进先出的的SQL
进货表:
供应商f_id 进货单号jh_id 图书h_id 进货折扣in_discount 进货数量h_amount 进货日期in_date
fA 10001 h1 50% 100 2008-1-5
fB 10002 h1 55% 50 2008-1-7
fC 10003 h2 45% 200 2008-1-15
fB 10004 h1 55% -20 2008-1-10
fA 10005 h1 52% 70 2008-1-20
fD 10006 h3 60% 20 2008-2-2
fE 10007 h3 55% 100 2008-3-1
销售表:
客户c_id 图书h_id 销售折扣out_discount 销售数量h_amount 销售日期out_date 每本平均毛利real_price(注:此列是软件自动生成,至于如何得出我也不知道)
cA h1 85% 80 2008-1-6 20
cB h1 90% 40 2008-1-16 19.5
cC h1 90% 40 2008-1-21 19
cA h1 85% -35 2008-2-1 20
cD h1 80% 60 2008-3-3 19.3
cE h2 80% 50 2008-1-22 45
cF h3 90% 80 2008-3-9 15
现在想得到每个供应商每个图书品种的毛利,如:
供应商f_id 图书h_id 毛利sum_money
fA h1 ?????
fB h1 ?????
fC h2 ?????
fD h3 ?????
fE h3 ?????
里面的销售按照先进先出的原则,例如 第2行销售记录里面的40本,有20本是fA,有20本是fB。
本来“每天平均毛利”这列也可以按照先进先出得出的,但考虑到软件本身已经生成了这列,就不用搞的这么复杂了,直接利用这列就行了。
也不要求一定用一个SQL语句,只要算得出就行。
期待大家的回复,等待。。。