有意思,这样的语句只用T-SQL我不会,帮你顶!

解决方案 »

  1.   

    --你的表结构呢? --大致是这样的:select a.产品,a.子产品,库存=b.库存-(select sum(生成数量) from 生产表 where 产品<=a.产品 and 子产品=a.子产品)
    from 生成表 a join 库存表 b on a.子产品=b.产品
      

  2.   

    ------------如下:
    产品 ,子部品, 库存
    A       B       2-4 = -2
    C       B       -2-5=-7
    这部分说的不是太清楚,可以将你的数据表结果清楚的说明一下,问题应该不太难
      

  3.   

    订号 子部品编码 子部品名称     计划数量合计    库存 在库
    ww0036 #17-MKD-EML MKD-EML       0.12     -2 -2-0.12
    ww0097 #17-MKD-EML MKD-EML       0.14     -2 -2-0.12-0.14
    ww0041 HB-M8X30S          HB       9              -495 -495-9
    WW0042 HB-M8X30S          HB       9              -495 -495-9-9
      

  4.   

    --查询
    select 订号,子部品编码,子部品名称,计划数量合计,库存
    ,在库=库存-(select sum(计划数量合计) from 表 where 订号<=a.订号)
    from 表 a
      

  5.   

    --测试--测试数据
    create table 表(订号 char(6),子部品编码 varchar(15),子部品名称 varchar(10)
    ,计划数量合计 decimal(10,2),库存 decimal(10,2),在库 decimal(10,2))
    insert 表 select 'ww0036','#17-MKD-EML','MKD-EML',0.12, -2  ,null
    union all select 'ww0097','#17-MKD-EML','MKD-EML',0.14, -2  ,null
    union all select 'ww0041','HB-M8X30S'  ,'HB'     ,9   , -495,null
    union all select 'WW0042','HB-M8X30S'  ,'HB'     ,9   , -495,null
    go--查询
    select 订号,子部品编码,子部品名称,计划数量合计,库存
    ,在库=库存-(select sum(计划数量合计) from 表 where 订号<=a.订号)
    from 表 a
    go--删除测试
    drop table 表/*--测试结果
    订号     子部品编码     子部品名称  计划数量合计  库存         在库   
    ------ --------------- ---------- ------------ ------------ -------
    ww0036 #17-MKD-EML     MKD-EML    .12          -2.00        -2.12
    ww0097 #17-MKD-EML     MKD-EML    .14          -2.00        -20.26
    ww0041 HB-M8X30S       HB         9.00         -495.00      -504.12
    WW0042 HB-M8X30S       HB         9.00         -495.00      -513.12(所影响的行数为 4 行)--*/
      

  6.   

    --查询
    select 订号,子部品编码,子部品名称,计划数量合计,库存
    ,在库=库存-(select sum(计划数量合计) from 表 where 订号<=a.订号 AND 子部品编码=A.子部品编码)
    from 表 a
    go