求不连续月份的金额累计值
本帖最后由 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?
已经搞定 顶一个,可以分享你的解决方法
页:
[1]