MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 998|回复: 2
打印 上一主题 下一主题

求不连续月份的金额累计值

[复制链接]
跳转到指定楼层
1#
发表于 2017-1-8 19:39:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cwui 于 2017-1-8 19:41 编辑

表A,没有7月份数据(MONAT = '07')


现需要计算某月(不包含)之后所有月份ZJ_B的合计值。
比如:查询MONAT = '10' , 那么结果就是11月和12月合计值,即110+120 =230
我写的代码如下:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
select
  A1.BUKRS,
  A1.GJAHR,
  A1.MONAT,
  A1.ANLN1,
  A1.ANLN2,
  SUM(A2.ZJ_B) AS ZJ_B
  
from A AS A1 inner join A AS A2
   on A1.BUKRS = A2.BUKRS
and A1.GJAHR = A2.GJAHR
and A1.ANLN1 = A2.ANLN1
and A1.ANLN2 = A2.ANLN2
and A1.MONAT < A2.MONAT
  
group by
      A1.BUKRS,
      A1.GJAHR,
      A1.MONAT,
      A1.ANLN1,
      A1.ANLN2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A自己inner join一次,取A1-MONAT, 取A2-ZJ_B, 不添加where 条件,结果是对的。

如果group by上面添加where A1.MONAT = '07', 结果变成空了(A表没有7月份这行数据)



问题是: 如何在添加where A1.MONAT= '07'的情况下,7月为空,但继续合计后面的月份,即8月到12月的ZJ_B?



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
3#
发表于 2017-1-10 13:14:15 | 只看该作者
顶一个,可以分享你的解决方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-4-25 07:50 , Processed in 0.075787 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表