SELECT vu_xskpd.spbh,   --商品编号
         sum(case when vu_xskpd.bz1='自提' then gjs end) 自提gjs,   --销量
         sum(case when vu_xskpd.bz1='代发' then gjs end) 代发gjs,   --销量
         sum(gjs) gjs,
         sum(yje) yje---销售金额
    FROM vu_xskpd (nolock),   ---销量开票单----视图
         tu_spzc  (nolock) ----商品注册
   WHERE ( vu_xskpd.spbh = tu_spzc.spbh ) and--两表关联  
         (  khbh = 'gdqc001' ) AND  ---客户编号
         ( vu_xskpd.nh = '2003' ) AND---年号  
         ( vu_xskpd.qh = '08' ) ---期号
GROUP BY vu_xskpd.spbh   
 having (sum(gjs)<>0 or sum(je)<>0)---排除金额为0或销量为0的
ORDER BY vu_xskpd.spbh ASC

解决方案 »

  1.   

    你要的想在中间加上一列为提货方式为自提的销量数量:  SELECT vu_xskpd.spbh,   --商品编号
             sum(case when vu_xskpd.bz1='自提' then gjs end) 自提gjs,   --自提销量
             sum(gjs) gjs,
             sum(yje) yje---销售金额
        FROM vu_xskpd (nolock),   ---销量开票单----视图
             tu_spzc  (nolock) ----商品注册
       WHERE ( vu_xskpd.spbh = tu_spzc.spbh ) and--两表关联  
             (  khbh = 'gdqc001' ) AND  ---客户编号
             ( vu_xskpd.nh = '2003' ) AND---年号  
             ( vu_xskpd.qh = '08' ) ---期号
    GROUP BY vu_xskpd.spbh   
     having (sum(gjs)<>0 or sum(je)<>0)---排除金额为0或销量为0的
    ORDER BY vu_xskpd.spbh ASC
      

  2.   

    SELECT vu_xskpd.spbh,   --商品编号
             sum(gjs) gjs,   --销量
             sum(case when bzl = '自提' then gjs else 0 end) as 自提销量 
             sum(yje) yje---销售金额
        FROM vu_xskpd (nolock),   ---销量开票单----视图
             tu_spzc  (nolock) ----商品注册
       WHERE ( vu_xskpd.spbh = tu_spzc.spbh ) and--两表关联  
             (  khbh = 'gdqc001' ) AND  ---客户编号
             ( vu_xskpd.nh = '2003' ) AND---年号  
             ( vu_xskpd.qh = '08' ) ---期号
    GROUP BY vu_xskpd.spbh,   
     having (sum(gjs)<>0 or sum(je)<>0)---排除金额为0或销量为0的
    ORDER BY vu_xskpd.spbh ASC 
      

  3.   

    SELECT vu_xskpd.spbh,   --商品编号
             sum(case when vu_xskpd.bz1='自提' then gjs end) 自提gjs,   --自提销量
             sum(gjs) gjs,
             sum(yje) yje---销售金额
        FROM vu_xskpd (nolock),   ---销量开票单----视图
             tu_spzc  (nolock) ----商品注册
       WHERE ( vu_xskpd.spbh = tu_spzc.spbh ) and--两表关联  
             (  khbh = 'gdqc001' ) AND  ---客户编号
             ( vu_xskpd.nh = '2003' ) AND---年号  
             ( vu_xskpd.qh = '08' ) ---期号
    GROUP BY vu_xskpd.spbh   
     having (sum(gjs)<>0 or sum(je)<>0)---排除金额为0或销量为0的
    ORDER BY vu_xskpd.spbh ASC  SELECT vu_xskpd.spbh,   --商品编号
             sum(case when vu_xskpd.bz1='自提' then gjs end) 自提gjs,   --自提销量
             sum(gjs) gjs,
             sum(yje) yje---销售金额
        FROM vu_xskpd (nolock),   ---销量开票单----视图
             tu_spzc  (nolock) ----商品注册
       WHERE ( vu_xskpd.spbh = tu_spzc.spbh ) and--两表关联  
             (  khbh = 'gdqc001' ) AND  ---客户编号
             ( vu_xskpd.nh = '2003' ) AND---年号  
             ( vu_xskpd.qh = '08' ) ---期号
    GROUP BY vu_xskpd.spbh   
     having (sum(gjs)<>0 or sum(je)<>0)---排除金额为0或销量为0的
    ORDER BY vu_xskpd.spbh ASC
      

  4.   

    SELECT vu_xskpd.spbh,   --商品编号
            sum(case when vu_xskpd.bz1='自提' then gjs end) 自提,   
             sum(case when vu_xskpd.bz1='代发' then gjs end) 代发,   
             sum(yje) yje---销售金额
        FROM vu_xskpd (nolock),   ---销量开票单----视图
             tu_spzc  (nolock) ----商品注册
       WHERE ( vu_xskpd.spbh = tu_spzc.spbh ) and--两表关联  
             (  khbh = 'gdqc001' ) AND  ---客户编号
             ( vu_xskpd.nh = '2003' ) AND---年号  
             ( vu_xskpd.qh = '08' ) ---期号
    GROUP BY vu_xskpd.spbh,   
     having (sum(gjs)<>0 or sum(je)<>0)---排除金额为0或销量为0的
    ORDER BY vu_xskpd.spbh ASC 
      

  5.   

    以上各位仁兄说的都很对
    你看看CASE WHEN 用法就行了
      

  6.   

    SELECT vu_xskpd.spbh,   --商品编号
             sum(case when vu_xskpd.bz1='自提' then gjs else 0 end) 自提gjs,   --销量
             sum(case when vu_xskpd.bz1='代发' then gjs else 0 end) 代发gjs,   --销量
             sum(gjs) gjs,
             sum(yje) yje---销售金额
        FROM vu_xskpd (nolock),   ---销量开票单----视图
             tu_spzc  (nolock) ----商品注册
       WHERE ( vu_xskpd.spbh = tu_spzc.spbh ) and--两表关联  
             (  khbh = 'gdqc001' ) AND  ---客户编号
             ( vu_xskpd.nh = '2003' ) AND---年号  
             ( vu_xskpd.qh = '08' ) ---期号
    GROUP BY vu_xskpd.spbh   
     having (sum(gjs)<>0 or sum(je)<>0)---排除金额为0或销量为0的
    ORDER BY vu_xskpd.spbh ASC