select 序号,餐费=sum(case when 费用名称='午餐费' or
费用名称='晚餐费' then 金额 else 0 end ),
加班值班费=sum(case when 费用名称='值班费' or
费用名称='加班费' then 金额 else 0 end ),
小计=sum(费用名称<>'补助费' and
费用名称<>'津贴费' then 金额 else 0 end ),
补助津贴=sum(费用名称='补助费' or
费用名称='津贴费' then 金额 else 0 end ),
合计=sum(金额)
from tblA
group by 序号
费用名称='晚餐费' then 金额 else 0 end ),
加班值班费=sum(case when 费用名称='值班费' or
费用名称='加班费' then 金额 else 0 end ),
小计=sum(费用名称<>'补助费' and
费用名称<>'津贴费' then 金额 else 0 end ),
补助津贴=sum(费用名称='补助费' or
费用名称='津贴费' then 金额 else 0 end ),
合计=sum(金额)
from tblA
group by 序号
序号,
餐费 = sum(case when 费用名称 in('午餐费','晚餐费') then 金额 else 0 end),
加班值班费 = sum(case when 费用名称 in('加班费','值班费') then 金额 else 0 end),
小计 = sum(case when 费用名称 in('午餐费','晚餐费','加班费','值班费') then 金额 else 0 end),
补助津贴 = sum(case when 费用名称 in('补助费','津贴费') then 金额 else 0 end),
合计 = sum(金额)
from
表a
group by
序号