sql 分组统计的问题涉及期初期末的问题

zhongtao2005_2016 2017-09-02 03:10:40
我用以下句话实现图片上样式,但是我想把期初写进去就不知道怎么写了,谢谢大家
select case grouping(a.sswz) when 1 then '合计' when 0 then case grouping(a.sswz) when 1 then a.sswz + ' SubTotal' when 0 then '' End end ' ',
d.zdrq as 制单日期,a.djbh,c.wlbh, c.wlmc, c.dw, c.wlgg,a.lx,
case when a.lx='销售出库'then ABS(sum(a.sssl)) else case when a.lx='其它出库'then ABS(sum(a.sssl)) else case when a.lx='销售退回'then sum(-a.sssl) else case when a.lx='销售出库红冲'then sum(-a.sssl) else sum(a.sssl)END END END END as 数量,
a.ckmc,f.dwmc from wl_rk a
inner join wl_flmx c on a.sp_rowid=c.ID
inner join wl_rkwl d on a.djbh=d.djbh
inner join user_id e on d.created_by=e.emp_rowid
inner join GY_KF_DW f on a.dw_rowid=f.id
where d.zdrq BETWEEN '2017-8-1' AND '2017-9-2 23:59:59' and a.djbh like '%%' and c.wlbh like '%%' and c.wlmc like '%%' and a.ckmc like '%徐州仓库%' and d.sh=1 and f.user_id like '%钟涛%' and a.djbh NOT LIKE 'XSC%'
group by c.wlbh,c.wlmc,c.dw,c.wlgg,a.ckmc,d.zdrq,a.djbh,a.sssl,a.lx,f.dwmc,a.sswz with rollup
having(grouping(c.wlbh) + grouping(c.wlmc)) +grouping(c.dw)+grouping(a.ckmc)+grouping(a.sswz) = 0 or
grouping(c.wlbh)+grouping(c.wlmc)+grouping(c.dw)+grouping(a.ckmc) = 3 order by c.wlbh,a.lx DESC,d.zdrq


...全文
342 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongtao2005_2016 2017-09-14
  • 打赏
  • 举报
回复
是这样的,我想写一个物料的进出帐,.在5月份之前的数据就为期初数据,也就是4月30日之前的所有数据明细数据相加得出的数据,现在就是想要这个数据
听雨停了 2017-09-04
  • 打赏
  • 举报
回复
不明白你说的把期初写进去是什么意思啊
shoppo0505 2017-09-04
  • 打赏
  • 举报
回复
给下测试数据

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧