• And to simplify things ...

    select

    'ActiveProd' = COUNT(CASE WHEN StatusID = 1 THEN 1 END),

    'InactiveProd' = COUNT(CASE WHEN StatusID = 2 THEN 1 END),

    'DiscontinutedProd' = COUNT(CASE WHEN StatusID = 3 THEN 1 END),

    (convert(varchar(4),dateadd(month, datediff(month, 0, CreatedDate),0),100) + convert(varchar(4),year(dateadd(month, datediff(month, 0, CreatedDate),0)))) as ProdCountDT

    from #Table_Temp TT

    where dateadd(month, datediff(month, 0, CreatedDate),0) between getdate() - 365 and getdate()

    group by dateadd(month, datediff(month, 0, CreatedDate),0)

    order by dateadd(month, datediff(month, 0, CreatedDate),0)