CREATE          PROCEDURE  vertex_sg_jc_hj
@ksrq char(7),
@jsrq char(7),
@wlbm char(12)
 AS
select sum(sg_sld.实收数量)as 实收数量,sum(sg_bld.数量)as 补料数量 from sg_sld,sg_bld where
 ((convert(varchar(7),sg_sld.收料日期,121)>=@ksrq and convert(varchar(7),sg_sld.收料日期,121)<=@jsrq and sg_sld.物料编码=@wlbm)) and
 ((convert(varchar(7),sg_bld.出库日期,121)>=@ksrq and convert(varchar(7),sg_bld.出库日期,121)<=@jsrq and sg_bld.物料编码=@wlbm))
GO
本来有五个表,现在用二个来试测一下.结果收料数量比实际的多了五倍,补料数量是正确的.这个一定我的语句写的不正确,请教那位高手指点.

解决方案 »

  1.   

    try~~CREATE PROCEDURE  vertex_sg_jc_hj 
    @ksrq char(7), 
    @jsrq char(7), 
    @wlbm char(12) 
    AS 
    select sum(sg_sld.实收数量)as 实收数量,sum(sg_bld.数量)as 补料数量 
    from sg_sld,sg_bld 
    where 
    ((convert(varchar(7),sg_sld.收料日期,121)>=@ksrq 
        and convert(varchar(7),sg_sld.收料日期,121) <=@jsrq and sg_sld.物料编码=@wlbm)) 
    and 
    ((convert(varchar(7),sg_bld.出库日期,121)>=@ksrq 
        and convert(varchar(7),sg_bld.出库日期,121) <=@jsrq and sg_bld.物料编码=@wlbm)) 
    and sg_sld.物料编码 = sg_bld.物料编码
    GO