日期:2014-05-18  浏览次数:20570 次

急求一汇总SQL
在SQL2000中有两个表Table1   和Table2   ,内容分别为
表Table1中
下单日期               物品名称               下单数量
07.2.10             桌子                           200
07.3.15             桌子                           30
07.3.20             桌子                           200
07.3.25             桌子                           110
07.3.10             柜子                           120
07.3.12             柜子                           180
07.3.12             书                               50

表Table2中
交货日期       物品名称                   交货数量
07.2.10           桌子                           200
07.3.12           桌子                             80
07.3.10           柜子                           120
07.3.15           柜子                           120

要求通过一SQL语句查出同一物品在Table2中的交货总数小于在Table1的下单总数时之后的下单信息
如:Table2中桌子交货总数为200+80=280
    在Table1中桌子的下单按时间先后的顺序相加下单数量,当加到07.3.20日时即:200+30+200=430   已大于交货数量,则要求得出07.3.20日起以后的桌子下单信息。

最终要求查询得出的结果(累计未完成下单量的信息)如下:
下单日期         物品名称               下单数量
07.3.20             桌子                           200
07.3.25             桌子                           110
07.3.12             柜子                           180
07.3.12             书                               50

注:上述两表Table1和Table2,除物品名称外不能使用类似下单号作为联系,不考虑交货日期与下单日期之间的关系,只考虑相同物品累计数量差的关系。

很急,请高手详细指导!




------解决方案--------------------
declare @a table(下单日期 smalldatetime, 物品名称 varchar(10), 下单数量 int)
insert @a select '07.2.10 ', '桌子 ', 200
union all select '07.3.15 ', '桌子 ', 30
union all select '07.3.20 ', '桌子 ', 200
union all select '07.3.25 ', '桌子 ', 110
union all select '07.3.10 ', '柜子 ', 120
union all select '07.3.12 ', '柜子 ', 180
union all select