select er_bxzb.djbh as djbh,
er_djlx.djlxmc as djlxmc,
bd_costsubj.costname as costname,
bd_deptdoc.deptname as deptname,
bd_psndoc.psnname as psnname,
sum(er_bxzb.total) as total,
er_bxzb.djrq as djrq
from er_bxzb
inner join bd_costsubj
ON er_bxzb.szxmid = bd_costsubj.pk_costsubj
inner join bd_deptdoc
on er_bxzb.deptid = bd_deptdoc.pk_deptdoc
inner join bd_psndoc
on er_bxzb.jkbxr = bd_psndoc.pk_psndoc
inner join er_djlx
on er_bxzb.djlxbm = er_djlx.djlxbm
where er_bxzb.djlxbm in ('264X-0201', '264X-0202')
group by er_bxzb.djbh,
er_djlx.djlxmc,
bd_costsubj.costname,
bd_deptdoc.deptname,
bd_psndoc.psnname,
er_bxzb.djrq
) t
就是在你的语句外再包一层,加个sum() over()就可以了
假如:这些数据在一张名为:Test 的数据表中select * from Test
union
select 5, '合计' , SUM(C) , SUM(D) from Test
其中:先把表中的所有数据查询出来,然后按照表的结构,select 主键列,'合计',SUM(C),SUM(D) from 数据表 使用SQL的数学函数 动态添加一行数据,最后使用 union 关键字 连接两次查询的结果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)