select (select sum(fee) from table where flag='R1')
,(select sum(fee) from table where flag='R2')
,(select sum(fee) from table where flag='R3')
,(select sum(fee) from table where flag='R4')
,(select sum(fee) from table where flag='R5')
,(select sum(fee) from table where flag='R6')

解决方案 »

  1.   

    试试这个!select flag,sum(fee) as fee from tableName
    where flag>='R1' and flag<='R6'
    group by flag或者来个狠的:select flag,sum(fee) as fee from tableName
    where flag='R1' or flag='R2' or flag='R3' or flag='R4' or flag='R4' or flag='R6'
    group by flag
      

  2.   

    select
    sum(case flag='R1' then fee else 0 end) as R1,
    sum(case flag='R2' then fee else 0 end) as R2,
    sum(case flag='R3' then fee else 0 end) as R3,
    sum(case flag='R4' then fee else 0 end) as R4,
    sum(case flag='R5' then fee else 0 end) as R5,
    sum(case flag='R6' then fee else 0 end) as R6
    from  tablename 
    group by flag
      

  3.   

    select 
    sum(case flag when 'r1' then fee else 0 end) as r1,
    sum(case flag when 'r2' then fee else 0 end) as r2,
    sum(case flag when 'r3' then fee else 0 end) as r3,
    sum(case flag when 'r4' then fee else 0 end) as r4,
    sum(case flag when 'r5' then fee else 0 end) as r5,
    sum(case flag when 'r6' then fee else 0 end) as r6
    from table 
      

  4.   

    用happydreamer(绝对的黑) 的方法。
      

  5.   

    Select a.sR1 as R1,b.sR2 as R2,c.sR3 as R3,d.sR4 as R4,e.sR5 as R5,
    f.sR6 as R6 from 
    (select sum(fee) sR1 from table where flag='R1') a,
    (select sum(fee) sR2 from table where flag='R2') b,
    (select sum(fee) sR3 from table where flag='R3') c,
    (select sum(fee) sR4 from table where flag='R4') d,
    (select sum(fee) sR5 from table where flag='R5') e,
    (select sum(fee) sR6 from table where flag='R6') f
      

  6.   

    哈哈!
    select (select sum(fee) from table where flag='R1')
    ,(select sum(fee) from table where flag='R2')
    ,(select sum(fee) from table where flag='R3')
    ,(select sum(fee) from table where flag='R4')
    ,(select sum(fee) from table where flag='R5')
    ,(select sum(fee) from table where flag='R6')最简单!!用
    select
    sum(case flag='R1' then fee else 0 end) as R1,
    sum(case flag='R2' then fee else 0 end) as R2,
    sum(case flag='R3' then fee else 0 end) as R3,
    sum(case flag='R4' then fee else 0 end) as R4,
    sum(case flag='R5' then fee else 0 end) as R5,
    sum(case flag='R6' then fee else 0 end) as R6
    from  tablename 
    group by flag也好!但只是一个表!
      

  7.   

    ^_^,四星高手果然思路很有一套,学习ing.......
      

  8.   

    哈哈!SELECT FLAG,SUM(FEE) 
    FROM TABLENAME 
    WHERE FLAG IN ('R1','R2',R3','R4','R5','R6')
    GROUP BY FLAG
      

  9.   

    对不起,应该是:
    SELECT FLAG,SUM(FEE) 
    FROM TABLENAME 
    WHERE FLAG IN ('R1','R2','R3','R4','R5','R6')
    GROUP BY FLAG
    少了一个引号。
      

  10.   

    Eric2000(LostMoneyLostLove) 的结果只有一个:1000
      

  11.   

    to:mousean(幻想无限) ( ) 
    什么意思?^O^
      

  12.   

    select
    sum(case flag='R1' then fee else 0 end) as R1,
    sum(case flag='R2' then fee else 0 end) as R2,
    sum(case flag='R3' then fee else 0 end) as R3,
    sum(case flag='R4' then fee else 0 end) as R4,
    sum(case flag='R5' then fee else 0 end) as R5,
    sum(case flag='R6' then fee else 0 end) as R6
    from  tablename 
    group by flag
      

  13.   

    select
    sum(case flag='R1' then fee else 0 end) as R1,
    sum(case flag='R2' then fee else 0 end) as R2,
    sum(case flag='R3' then fee else 0 end) as R3,
    sum(case flag='R4' then fee else 0 end) as R4,
    sum(case flag='R5' then fee else 0 end) as R5,
    sum(case flag='R6' then fee else 0 end) as R6
    from  tablename 
    group by flag
      

  14.   

    happydreamer(绝对的黑) ( ) 信誉:170  的方法应该是最快的。
    另外,建议大家不要把前面的答案拷贝下来,还是自己的答案好一点。