cwui 发表于 2017-1-8 19:39:28

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

本帖最后由 cwui 于 2017-1-8 19:41 编辑

表A,没有7月份数据(MONAT = '07')
http://img.bbs.csdn.net/upload/201701/05/1483605944_641409.jpg

现需要计算某月(不包含)之后所有月份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 条件,结果是对的。
http://img.bbs.csdn.net/upload/201701/05/1483606495_128213.jpg
如果group by上面添加where A1.MONAT = '07', 结果变成空了(A表没有7月份这行数据)
http://img.bbs.csdn.net/upload/201701/05/1483606553_696675.jpg


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



cwui 发表于 2017-1-9 17:34:37

已经搞定

kider 发表于 2017-1-10 13:14:15

顶一个,可以分享你的解决方法
页: [1]
查看完整版本: 求不连续月份的金额累计值