要求统计出每个PartCode的这七种ReasonCode的Num各自之和

解决方案 »

  1.   

    select PartCode
    ,[A NUM]=sum(case ReasonCode when 'A' then Num else 0 end)
    ,[B NUM]=sum(case ReasonCode when 'B' then Num else 0 end)
    ,[C NUM]=sum(case ReasonCode when 'C' then Num else 0 end)
    ,[D NUM]=sum(case ReasonCode when 'D' then Num else 0 end)
    ,[E NUM]=sum(case ReasonCode when 'E' then Num else 0 end)
    ,[F NUM]=sum(case ReasonCode when 'F' then Num else 0 end)
    ,[G NUM]=sum(case ReasonCode when 'G' then Num else 0 end)
    from 表
    group by PartCode
      

  2.   

    select distinct PartCode,
    (select sum(num) from tabl where PartCode=tabl1.PartCode and ReasonCode='A') as [A NUM], 
    (select sum(num) from tabl where PartCode=tabl1.PartCode and ReasonCode='B') as [B NUM],
    (select sum(num) from tabl where PartCode=tabl1.PartCode and ReasonCode='C') as [C NUM],
    (select sum(num) from tabl where PartCode=tabl1.PartCode and ReasonCode='D') as [D NUM],
    (select sum(num) from tabl where PartCode=tabl1.PartCode and ReasonCode='E') as [E NUM],
    (select sum(num) from tabl where PartCode=tabl1.PartCode and ReasonCode='F') as [F NUM],
    (select sum(num) from tabl where PartCode=tabl1.PartCode and ReasonCode='G') as [G NUM]
    from tabl tabl1