select Number400,_year ,_Month ,FeeType, a_FixedFee ,FeeTypeName,Fee1,Fee2,Fee3,Fee4,
Consumer1,Consumer2,Consumer3,Consumer4,
case when rec>a_FixedFee then rec else a_FixedFee end as rec,
case when pay>c_FixedFee then pay else c_FixedFee end as pay,
case when rec>a_FixedFee then rec else a_FixedFee end-case when
pay>c_FixedFee then pay else c_FixedFee end as profit -->加利润字段
from
(
select a.Number400,b._year ,b._Month ,a.FeeType, a.FixedFee as a_FixedFee,a.FeeTypeName,a.Fee1,a.Fee2,a.Fee3,a.Fee4,
b.Consumer1,b.Consumer2,b.Consumer3,b.Consumer4,c.FixedFee as c_FixedFee,
case a.FeeType
when 1 then a.Fee1*b.Consumer1+a.Fee2*b.Consumer2
when 2 then a.Fee3*b.Consumer3+a.Fee4*b.Consumer4
end as rec,
case c.FeeType
when 1 then c.Fee1*b.Consumer1+c.Fee2*b.Consumer2
when 2 then c.Fee3*b.Consumer3+c.Fee4*b.Consumer4
end as pay
from S_SaleManager a
inner join S_MonthlyData b on a.Number400=b.Number400
inner join S_Manager400 c on b.Number400=c.Number400
)t

我执行这个sql显示出如下图,请问有没有方法可以解决 在下面加一行 算出 rec的总和,pay的总和,profit的总和
不知道sql能否实现 第4行前面的值都不要,只要一个最后的统计算出 rec的总和,pay的总和,profit的总和
sql select
------解决方案--------------------
改用with可以加入参数条件,结果是一样的
------解决方案--------------------
;with cte as
(
select convert(varchar(100),Number400)Number400,convert(varchar(100),_year)_year ,convert(varchar(100),_Month)_Month ,
convert(varchar(100),FeeType)FeeType, convert(varchar(100),a_FixedFee) a_FixedFee,convert(varchar(100),FeeTypeName)FeeTypeName,
convert(varchar(100),Fee1)Fee1,convert(varchar(100),Fee2)Fee2,convert(varchar(100),Fee3)Fee3,convert(varchar(100),Fee4)Fee4,
convert(varchar(100),Consumer1)Consumer1,convert(varchar(100),Consumer2)Consumer2,convert(varchar(100),Consumer3)Consumer3,
convert(varchar(100),Consumer4)Consumer4,
case when rec>a_FixedFee then rec else a_FixedFee end as rec,
case when pay>c_FixedFee then pay else c_FixedFee end as pay,
case when rec>a_FixedFee then rec else a_FixedFee end-case when
pay>c_FixedFee then pay else c_FixedFee end as profit -->加利润字段
from
(
select a.Number400,b._year ,b._Month ,a.FeeType, a.FixedFee as a_FixedFee,a.FeeTypeName,a.Fee1,a.Fee2,a.Fee3,a.Fee4,
b.Consumer1,b.Consumer2,b.Consumer3,b.Consumer4,c.FixedFee as c_FixedFee,
case a.FeeType
when 1 then a.Fee1*b.Consumer1+a.Fee2*b.Consumer2