大概数据就是这样。。这是某客户还款记录。现在要求按年月统计还款金额,未还款的月份还款金额为0.现在我卡在未还款的月份金额为0上了请教大神们。用什么方式来构造出这个0啊。。客户还款时间可能跨度三年左右。

解决方案 »

  1.   

    够造你想要的月份再LEFT 关联
      

  2.   


    declare @start datetime
    declare @end datetime
    set @start = '2008-01-01'
    set @end = '2012-12-01'
    ;with cte as
    (
        select convert(varchar(6),dateadd(mm,number,@start),112) as date
        from master..spt_values
        where [type] = 'P' and number between 0 and datediff(mm,@start,@end)
    )select * from cte
      

  3.   


    --接上边,把select * from cte改为select a.date,sum(b.amount) amount
    from cte a left join tb b on a.date = convert(varchar(6),还账日期,112)
    group by a.date