ta表有 goodsid,goodsname,stockid,stockname,checker,销售金额,成本金额,销售毛利,销售数量select 
       a.stockid,
       a.checker,  
       a.stockname,       sum(销售金额) as 销售金额,
       sum(成本金额) as 成本金额,
       sum(销售毛利) as 销售毛利,
      
      sum( 销售数量) as 销售数量
--这里的销售数量只要goodsid='430001'的,而不是全部的,要如何写语句?
         
from ta a  GROUP BY a.stockid,a.stockname,a.checker

解决方案 »

  1.   

    select ...
    from ta
    where goodsid='430001'
    group by...
      

  2.   

    select 
          a.stockid, 
          a.checker,  
          a.stockname,       sum(销售金额) as 销售金额, 
          sum(成本金额) as 成本金额, 
          sum(销售毛利) as 销售毛利, 
          
          sum( 销售数量) as 销售数量 
    --这里的销售数量只要goodsid='430001'的,而不是全部的,要如何写语句? 
            
    from ta a  
    where goodsid='430001'
    GROUP BY a.stockid,a.stockname,a.checker
      

  3.   

    --TRY
    select 
          a.stockid, 
          a.checker,  
          a.stockname, 
          sum(销售金额) as 销售金额, 
          sum(成本金额) as 成本金额, 
          sum(销售毛利) as 销售毛利, 
          sum( 销售数量) as 销售数量 ,
          (select sum( 销售数量)  from ta where goodsid='430001' ) as 销售数量
    --这里的销售数量只要goodsid='430001'的,而不是全部的,要如何写语句? 
            
    from ta a  GROUP BY a.stockid,a.stockname,a.checker
      

  4.   

    select 
          a.stockid, 
          a.checker,  
          a.stockname,       sum(销售金额) as 销售金额, 
          sum(成本金额) as 成本金额, 
          sum(销售毛利) as 销售毛利, 
          
          sum(
            case
              when goodsid='430001' 
      then 销售数量 
               else 0
             end 销售数量
           ) as 销售数量 
            
    from ta a  GROUP BY a.stockid,a.stockname,a.checker
      

  5.   

    wufeng4552明白我的意思了,但运行时数量不对,‘(select sum( 销售数量)  from ta where goodsid='430001' ) as 销售数量’显示的数据都是相同的,应该不对ta表有 goodsid,goodsname,stockid,stockname,checker,销售金额,成本金额,销售毛利,销售数量 
    select 
          a.stockid, 
          a.checker,  
          a.stockname,       sum(销售金额) as 销售金额, 
          sum(成本金额) as 成本金额, 
          sum(销售毛利) as 销售毛利, 
    --以上是按GROUP by 分类的全部数据的统计      
          sum( 销售数量) as 销售数量 
    --这里的销售数量只要goodsid='430001'的,而不是全部的,要如何写语句? 但也要按 group by 分类统计
            
    from ta a  GROUP BY a.stockid,a.stockname,a.checker