sql在两行查询结果上增加一个合计列

sql在两行查询结果上增加一个合计列,第1张

select sum(total) over() hj,* from (

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 关键字 连接两次查询的结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11765212.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存