假设批次的数量为200
统计的结果为
批次   A      B      C     D
123Q  30      50    230  100
那么我希望将 C的结果替换为200

批次   A      B      C     D
123Q   30     50    200    100

解决方案 »

  1.   

    select 批次,数量,decode(sign(a-200),1,200,a) a,
           decode(sign(b-200),1,200,b) b,
           decode(sign(c-200),1,200,c) c,
           decode(sign(d-200),1,200,d) d
    from
    (       
    select  批次,数量
    sum(decode(送出工序 , 'A', 数量,0)) a,
    sum(decode(送出工序 , 'B', 数量,0)) b,
    sum(decode(送出工序 , 'C', 数量,0)) c,
    sum(decode(送出工序 , 'D', 数量,0)) d
    from 物料传送单 group by 批次,数量)
      

  2.   


    select  批次,批次数量,
    decode(sign(批次数量-sum(decode(送出工序 , 'A', 数量,0))),-1,
    sum(decode(送出工序 , 'A', 数量,0)),批次数量),
    decode(sign(批次数量-sum(decode(送出工序 , 'B', 数量,0))),-1,
    sum(decode(送出工序 , 'B', 数量,0)),批次数量),
    decode(sign(批次数量-sum(decode(送出工序 , 'C', 数量,0))),-1,
    sum(decode(送出工序 , 'C', 数量,0)),批次数量),
    decode(sign(批次数量-sum(decode(送出工序 , 'D', 数量,0))),-1,
    sum(decode(送出工序 , 'D', 数量,0)),批次数量),
    from 物料传送单 group by 批次,批次数量;