| 第一个表 | 初始数据表 | |||||
| 产品 | 库位 | 数量 | ||||
| 010101 | 5 | 1000 | ||||
| 010102 | 5 | 2000 | ||||
| 第二个表 | ||||||
| 期初 | 产品 | 库位 | 入库数 | 出库数 | 日期 | 结存数量 |
| 1000 | 010101 | 5 | 100 | 50 | 2016/1/8 | 1050 |
| 2000 | 010102 | 5 | 100 | 50 | 2016/1/8 | 2050 |
| 1050 | 010101 | 5 | 50 | 5 | 2016/1/9 | 1095 |
使用一个表的数量为初始数量+第二个表
第二个表只有产品,库位,入库数,出库数,日期,要结合第一个表计算出每行的期初,和结存
1 select 日期=s.日期,产品=s.产品, 2 库位=s.库位,期初=f.数量, 3 入库=s.入库数,出库=s.出库数, 4 结存=f.数量+s.入库数-s.出库数 5 from dbo.Product1 f 6 right join dbo.Product2 s 7 on f.产品=s.产品

问题有些不清楚。
就是想做一个报表,我重新修改了下,将前两个表汇总成第三个表。
| 第一个表 | 初始数据表 | ||||||
| 产品 | 库位 | 数量 | |||||
| 010101 | 5 | 1000 | |||||
| 010102 | 5 | 2000 | |||||
| 第二个表 | |||||||
| 产品 | 库位 | 入库数 | 出库数 | 日期 | |||
| 010101 | 5 | 100 | 50 | 2016/1/8 | |||
| 010102 | 5 | 100 | 50 | 2016/1/8 | |||
| 010101 | 5 | 50 | 20 | 2016/1/9 | |||
| 010102 | 5 | 50 | 20 | 2016/1/9 | |||
| 汇总表 | |||||||
| 日期 | 产品 | 库位 | 期初 | 入库 | 出库 | 结存数量 | |
| 2016-01-08 | 010101 | 5 | 1000 | 100 | 50 | 1050 | |
| 2016-01-08 | 010102 | 5 | 2000 | 100 | 50 | 2050 | |
| 2016-01-09 | 010101 | 5 | 1050 | 50 | 20 | 1080 | |
| 2016-01-09 | 010102 | 5 | 2050 | 50 | 20 | 2080 |
@寒冬以至: 最佳给楼下吧,楼下好像弄出来了,刚回来。。。没注意看你的回复,不好意思