TbA
No idate qtyA
A 2007/06/01 10
A 2007/06/02 5
A 2007/06/04 8
B 2007/06/02 12
B 2007/06/03 8
B 2007/06/20 20
B 2007/06/22 15
…. …… …
TbB
No qtyB
A 20
B 25
..
要求按日期从小到大排序结取出如下数据
NO idate QtyB 用掉QtyA QtyA剩余
A 2007/06/01 20 10 0
A 2007/06/02 20 5 0
A 2007/06/04 20 5 3
B 2007/06/02 25 12 0
B 2007/06/03 25 8 0
B 2007/06/20 25 5 15
请指点一下,谢了.
------解决方案--------------------------------------------------------
select A.NO,idate,QtyB,qtyA as 用掉QtyA,QtyB-qtyA as QtyA剩余 from TbA a left join TbB b on a.NO=b.NO ORDER BY 1,2 into table temp1
go top
lcbl=alltrim(no)
lnsum=qtyb
scan
if alltrim(no) <> lcbl
lnsum=qtyb
lcbl=alltrim(no)
endif
replace QtyA剩余 with abs(lnsum-用掉QtyA)
lnsum=abs(lnsum-用掉QtyA)
endscan