select 物品名,进货日期,库存数量
from 
(select 物品名,进货日期,入库数量 as 库存数量 from 表一
union all
select 物品名,出库日期 as 进货日期,出库数量 as 库存数量 from 表二
)
order by 物品名,进货日期
compute SUM(库存数量) by 物品名

解决方案 »

  1.   

    哎呀,看错了,应为 =====================================================
    select 物品名,进货日期,库存数量
    from 
    (select a.物品名,a.进货日期,a.入库数量-b.出库数量 as 库存数量 from 表一 a left outer join (select 物品名,进货日期,出库数量 from 表二 group by 物品名,进货日期) b on a.物品名=b.物品名 and a.进货日期=b.进货日期)
    )
    order by 物品名,进货日期
    compute SUM(库存数量) by 物品名
    =====================================================
    :-)
      

  2.   

    哎呀,看错了,应为
    =====================================================
    select 物品名,进货日期,库存数量
    from 
    (select a.物品名,a.进货日期,a.入库数量-b.出库数量 as 库存数量 from 表一 a left outer join (select 物品名,进货日期,sum(出库数量) as 出库数量 from 表二 group by 物品名,进货日期) b on a.物品名=b.物品名 and a.进货日期=b.进货日期)
    )
    order by 物品名,进货日期
    compute SUM(库存数量) by 物品名
    =====================================================
    :-)
      

  3.   

    加个isnull()好不好!select 物品名,进货日期,库存数量
    from 
    (select a.物品名,a.进货日期,a.入库数量-isnull(b.出库数量,0) as 库存数量 from 表一 a left outer join (select 物品名,进货日期,sum(出库数量) as 出库数量 from 表二 group by 物品名,进货日期) b on a.物品名=b.物品名 and a.进货日期=b.进货日期)
    )
    order by 物品名,进货日期
    compute SUM(库存数量) by 物品名
      

  4.   

    select AA.物品名,AA.进货日期,sum( isnull(AA.入库数量,0)-isnull(BB.出库数量,0)) as 库存数量   from 
    (select 物品名,进货日期,sum(入库数量) from A group by 物品名,进货日期)) AA
    left outer join
    (select 物品名,sum(出库数量),进货日期 from B group by 物品名,进货日期)
    on aa.物品名=bb.物品名 and aa.进货日期=bb.进货日期汇总可以在前台统计,比较方便。
      

  5.   

    多了个括号,不好意思
    ====================================================================
    select 物品名,进货日期,库存数量
    from 
    (select a.物品名,a.进货日期,a.入库数量-isnull(b.出库数量,0) as 库存数量 from 表一 a left outer join (select 物品名,进货日期,sum(出库数量) as 出库数量 from 表二 group by 物品名,进货日期) b on a.物品名=b.物品名 and a.进货日期=b.进货日期
    )
    order by 物品名,进货日期
    compute SUM(库存数量) by 物品名
    ===================================================================
    PS:加isnull是对的,这样逻辑上会比较完整些,有些地方是不是需要group by要看看你的数据结构如何定义的,象楼上CrazyFor(Fan)写的也对,但是如果表一的PK是物品名+进货日期就没必要用group by了,那样这只会加重Server的负担,如果不是,加group by是必要的.