两张表入库单和出库单结构是这样的
CREATE TABLE [dbo].[rkd](
[SPBH] [char](12) NOT NULL,
[SPPH] [char](20) NOT NULL,
[SL] [float] NULL,
)CREATE TABLE [dbo].[ckd](
[SPBH] [char](12) NOT NULL,
[SPPH] [char](20) NOT NULL,
[SL] [float] NULL,
)现在我需要查询
入库单rkd与出库单ckd的商品编号spbh和商品批号spph相同的东西,汇总后的库存量,即sum(rkd.sl)-sum(ckd.sl),请问需要怎么写,

解决方案 »

  1.   

    select a.rkd,a.spbh,sum(a.sl)-sum(b.sl)
    from rkd a
     join ckd b
    on a.rkd=b.ckd and a.spbh=b.spbh
    group by a.rkd,a.spbh
      

  2.   

    1楼的,rkd和ckd是表名,不是列名哦,看明白了你的意思,select a.spph,a.spbh,sum(a.sl)-sum(b.sl) from rkd a join ckd b on a.spph=b.spph and a.spbh=b.spbh group by a.spph,a.spbh但是这样汇总出来的数量是错的
      

  3.   

    select a.spbh,a.spph,a.sl-b.sl from
    (select spbh,spph,sl=sum(sl) from rkd group by spbh,spph)a,
    (select spbh,spph,sl=sum(sl) from ckd group by spbh,spph)b
    where a.spbh=b.spbh and a.spph=b.spph