select a.入库-b.出库-b.出租+a.回收 as 库存数量 from 入库表 a , 出库表 b where a.商品代码=b.商品代码

解决方案 »

  1.   

    Select Sum(Num) From (
    Select Sum(入库数) as Num
    From Table1
    Where Type='入库'
    union all
    Select 0-Sum(出库数) as Num
    From Table1
    Where Type='出库'
    union All
    Select 0-Sum(出租数) as Num
    From Table2
    Where Type='出租'
    union All
    Select Sum(回收数) as Num
    From Table2
    Where Type='回收'
    ) as F
      

  2.   

    select Isnull(a.入库,0)-IsNull(b.出库,0)-IsNull(b.出租,0)+IsNull(a.回收,0) as 库存数量 from 入库表 a , 出库表 b where a.商品代码=b.商品代码
      

  3.   

    select sum(入库.sl)-sum(出库.sl)-sum(出租.sl)+sum(回收.sl) from 出入库记录表,出租回收记录表
    where 出入库记录表.id=出租回收记录表.id group by 出入库记录表.id出租回收记录表.id
      

  4.   

    都写错了,会少记录。要有商品代码表 CodeTable, 有字段 CodeSelect d1.Code, d2.入库-d3.出库-d3出租+d2.回收 as 库存数量
    From CodeTable d1 
    Left outer join inTable d2 on d1.Code=d2.Code
    Left outer join inTable d3 on d1.Code=d3.Code
      

  5.   

    还有点小问题,改成:Select d1.Code, isnull(d2.入库,0)-isnull(d3.出库,0)-isnull(d3出租,0)+isnull(d2.回收,0) as 库存数量
    From CodeTable d1 
    Left outer join inTable d2 on d1.Code=d2.Code
    Left outer join inTable d3 on d1.Code=d3.Code
      

  6.   

    <<<<一共两个表,一个保存入库和出库记录,另一个保存出租与回收记录>>>>
    而且记录中数量要依据物品代码sum