select a.商品代码,
a.商品名称,
销售数量=isnull(b.销售数量,0),
兑换数量 = isnull(c.兑换数量,0),
合计数量= 销售数量+兑换数量
 from  商品表 a left join 销售表 b 
   on a.商品代码 = b.商品代码
    left join 兑换表 c
     on a.商品代码 = c.商品代码

解决方案 »

  1.   

    create table 商品表(商品代码 int , 商品名称 varchar(2))
    insert into 商品表 values(1,'A')
    insert into 商品表 values(2,'B')
    insert into 商品表 values(3,'C') 
    create table 销售表(  商品代码 int ,商品名称  varchar(2),  销售数量 int )
    insert into  销售表 values(01,         'A'           ,10)
    insert into  销售表 values(03,         'C'          ,30)
    create table 兑换表(商品代码 int,  商品名称 varchar(20),  兑换数量 int) insert into 兑换表 values(01         ,'A'           ,10)
    insert into 兑换表 values(02      ,'B'           ,20)
     
    select a.商品代码,a.商品名称 ,isnull(b.销售数量,0) ,isnull(c.兑换数量,0) ,isnull(b.销售数量,0)+isnull(c.兑换数量 ,0)
    from  商品表 a left join  销售表 b on  a.商品代码=b.商品代码   join (商品表 d left join 兑换表 c on  d.商品代码=c.商品代码)
             
    on a.商品代码=d.商品代码
      

  2.   

    结果
    商品代码        商品名称                                     
    ----------- ---- ----------- ----------- ----------- 
    1           A    10          10          20
    2           B    0           20          20
    3           C    30          0           30(所影响的行数为 3 行)
      

  3.   

    select a.商品代码,
    a.商品名称,
    销售数量=isnull(b.销售数量,0),
    兑换数量 = isnull(c.兑换数量,0),
    合计数量= isnull(b.销售数量,0)+isnull(c.兑换数量,0)
     from  商品表 a left join 销售表 b 
       on a.商品代码 = b.商品代码
        left join 兑换表 c
         on a.商品代码 = c.商品代码