select 商品基本信息.条码 ,sum( 商品销售情况表.销售数量),sum( 商品订单表.订货数量)from 商品基本信息 
left join 商品订单表 on 商品基本信息.条码=商品订单表.条码 
left join 商品销售情况表 on 商品基本信息.条码=商品销售情况表.条码
group by 商品基本信息.条码

解决方案 »

  1.   

    select case when a.条码 is null then b.条码 else a.条码 end,isnull(a.销售数量,0) as 销售数量,isnull(b.订货数量,0) as 订货数量
    from (
    select 条码,sum(销售数量) as 销售数量
    from 商品订单表
    group by 条码
    ) as a
    full join
    (
    select 条码,sum(订货数量) as 订货数量
    from 商品订单表 
    group by 条码
    ) as b
    on a.条码=b.条码
      

  2.   

    SELECT A.条码,B.销售数量,C.订货数量 
    FROM 商品信息表 A INNER JOIN (SELECT 条码,SUM(商品销售表.销售数量) AS 销售数量 FROM 商品销售表 GROUP BY 条码) B ON A.条码 = B.条码 
    INNER JOIN (SELECT 条码,SUM(商品订单表.订货数量) AS 订货数量 FROM 商品订单表 GROUP BY 条码) C ON A.条码 = C.条码
      

  3.   

    用union
    select a.条码,d.销售总量,d.订货总数
    from 商品信息表 a left join (
      SELECT 条码,sum(销售数量) as 销售总量 ,sum(订货数量) as 订货总数 
          FROM  
     (SELECT 条码,销售数量,0.0000 as 定货数量 FROM 商品销售表      
      union 
     SELECT 条码,0.0000 as 销售数量,定货数量 FROM 商品订单表) C
     group by 条码) d
      

  4.   

    这是我的办法:)
    begin tran
    select tm,sum(hjsl)as hjsl ,0 as jhsl into #t1 from spjbxx a, spxsqk b where a.tm=b.tm group by a.tm;
    select a.tm,sum(jhsl) as jhsl into #t2 from spjbxx a,spdd b where a.tm=b.tm group by a.tm;
    update #t1 set #t1.jhsl=#t2.jhsl from #t2 where #t1.tm=#t2.tm
    select * from #t1;
    rollback tran