SELECT
    MIN(VENDAS.[Código da Mercadoria]) AS Código_Mercadoria,
    MIN(VENDAS.Mercadoria) AS Nome_Mercadoria,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 1 THEN Quantidade_Item ELSE 0 END) AS Janeiro,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 2 THEN Quantidade_Item ELSE 0 END) AS Fevereiro,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 3 THEN Quantidade_Item ELSE 0 END) AS Março,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 4 THEN Quantidade_Item ELSE 0 END) AS Abril,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 5 THEN Quantidade_Item ELSE 0 END) AS Maio,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 6 THEN Quantidade_Item ELSE 0 END) AS Junho,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 7 THEN Quantidade_Item ELSE 0 END) AS Julho,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 8 THEN Quantidade_Item ELSE 0 END) AS Agosto,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 9 THEN Quantidade_Item ELSE 0 END) AS Setembro,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 10 THEN Quantidade_Item ELSE 0 END) AS Outubro,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 11 THEN Quantidade_Item ELSE 0 END) AS Novembro,
    SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 12 THEN Quantidade_Item ELSE 0 END) AS Dezembro,
    SUM(Quantidade_Item) AS Soma_Meses,

    ROUND(SUM(Quantidade_Item) / 9.0,2) AS MEDIA, 
	MIN(ESTOQUE.Estoque) AS ESTOQUE
FROM 
    memoria_VendasTodas AS VENDAS
    JOIN [Cadastro de mercadoriasLojas] AS ESTOQUE
    ON ESTOQUE.[Código da Mercadoria] = VENDAS.[Código da Mercadoria]
WHERE
    VENDAS.[Data da Venda] >= DATEADD(MONTH, -9, GETDATE()) -- Considera os últimos 3 meses
    AND VENDAS.[Data da Venda] <= GETDATE() -- Até a data atual
    AND VENDAS.LojaOrigem = 'MATRIZ'
    AND ESTOQUE.Loja = 'MATRIZ'
    AND VENDAS.Estornado = 0
    AND VENDAS.Cancelado = 0
   
GROUP BY
    VENDAS.[Código da Mercadoria]
ORDER BY
    MIN(VENDAS.Mercadoria)
