MySQL社区
标题:
求不连续月份的金额累计值
[打印本页]
作者:
cwui
时间:
2017-1-8 19:39
标题:
求不连续月份的金额累计值
本帖最后由 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?
作者:
cwui
时间:
2017-1-9 17:34
已经搞定
作者:
kider
时间:
2017-1-10 13:14
顶一个,可以分享你的解决方法
欢迎光临 MySQL社区 (http://www.mysqlpub.com/)
Powered by Discuz! X3.2