表结构:
金额1,金额2,金额类别,日期,
现在金额类别只有两种,一种是支出,一种是收入,
现在想要求所有收入的(金额1-金额2)的合计-所有支出的(金额1-金额2).

解决方案 »

  1.   


    select (case 金额类别 when '收入' then 1 else -1 end) * (金额1-金额2) 
    from tb
      

  2.   

    select sum((case 金额类别 when '收入' then 1 else -1 end) * (金额1-金额2))
    from tb
      

  3.   

    select sum( (case 金额类别 when '收入' then 1 else -1 end) * (金额1-金额2) )
    from tb
      

  4.   

    SELECT SUM(CASE WHEN 金额类别='收入' THEN 金额1-金额2 ELSE 0 END)
           -SUM(CASE WHEN 金额类别='支出' THEN 金额1-金额2 ELSE 0 END)
    FROM tb
      

  5.   


    SELECT SUM(金额1)-SUM(金额2)
    FROM tb
      

  6.   

     select (select sum(金额1-金额2) from tb where 金额类别='收入') - 
    (select sum(金额1-金额2) from tb where 金额类别='支出') 
      

  7.   

    ((select sum('金额1') from '表名' where 金额类别=N'收入')
    -(select sum('金额2') from '表名' where 金额类别=N'收入'))
    -
    ((select sum('金额1') from '表名' where 金额类别=N'支出')-
    (select sum('金额2') from '表名' where 金额类别=N'支出'))