如表B 列 name 公司 tate 业务时间 DJJE 单据金额
最终效果如上图, yje1 为一月的总金额,je1 为12月(如2014-2-1-2015-1-31),ck1为月超额状态。 现图中总金额是错误的,求教代码该怎么写。 下面是我写的错误代码:
( select OpenName,SUM(amount) as je4, DATEADD(MONTH,-12,convert(datetime,(CONVERT(varchar(4), checkdate, 120)+'-01-31'),120)) as sh4 from invoicedoc where isnull(OpenName,'')<>'' and
checkdate between DATEADD(MONTH,-12,convert(datetime,(CONVERT(varchar(4), checkdate, 120)+'-01-31'),120))
and DATEADD(MONTH,0,convert(datetime,(CONVERT(varchar(4), checkdate, 120)+'-01-31'),120))
group by OpenName,DATEADD(MONTH,-12,convert(datetime,(CONVERT(varchar(4), checkdate, 120)+'-01-31'),120)))
写了好久了都没写出了, 时间中的年份不定 的 如 2015-1 月 前12月总金额, 2016-1月前12月总金额这样
select sum(yje1),sum(je1) from talbe group by doccdate
如果要保存统计 ,使用游标, 当统计完一年的数据 。
把这条数据写入到新的表里即可。
怎么求当月12个月的总金额, 如 2015-4月 总金额 取的时间段是2014-5-1 至2015-5-1日前 ,