select
账户,
sum(期初金额+收入-支出) 余额
from(
case when 收支类型 ='收入' then 期初金额 end 期初金额,
case when 收支类型 ='收入' then 金额 end 收入,
case when 收支类型 ='支出' then 金额 end 支出
from 表
)
group by 账户
不管是sql语句还是用帆软报表,思路大致就是这样:先统计收入总和,在统计支出总和,用期初金额+收入总和-支出总和=余额,如果我没有理解错意思的话应该就是这样
with qc as (select 账号,期初金额 期初 from 表), sr as (select 账号,金额 收入 from 表 where 收支类型='收入'), zc as (select 账号,金额 支出 from 表 where 收支类型='支出') select qc.账号,期初+收入-支出 余额 from qc left join sr on qc.账号=sr.账号 left join zc on qc.账号=zc.账号