DECLARE @CODIGO INT;
DECLARE @I INT;
DECLARE @NOME_DO_PRODUTO VARCHAR (20);
DECLARE @MES INT , @ANO INT;
DECLARE @NUMERO_PRODUTOS INT;
DECLARE @TOTAL_VENDAS FLOAT;
SELECT @NUMERO_PRODUTOS = COUNT (*) FROM [TABELA DE PRODUTOS];
SET @I=1;
SET @ANO = 2015;
SET @MES = 1;
WHILE @I <= @NUMERO_PRODUTOS
BEGIN
SELECT @CODIGO = X.[CODIGO DO PRODUTO] , @NOME_DO_PRODUTO =X.[NOME DO PRODUTO]
FROM ( SELECT Row_Number() Over (Order By [CODIGO DO PRODUTO])as RowNum,* from[TABELA DE PRODUTOS])X
WHERE X.RowNum = @I;
SELECT
@TOTAL_VENDAS =SUM([ITENS NOTAS FISCAIS].QUANTIDADE * [ITENS NOTAS FISCAIS].[PREÇO])
FROM [NOTAS FISCAIS]
INNER JOIN [ITENS NOTAS FISCAIS]
ON [NOTAS FISCAIS].NUMERO = [ITENS NOTAS FISCAIS].NUMERO
WHERE [ITENS NOTAS FISCAIS].[CODIGO DO PRODUTO] = @CODIGO
AND YEAR([NOTAS FISCAIS].DATA) = @ANO AND MONTH([NOTAS FISCAIS].DATA) = @MES;
PRINT 'Vendas para ' +CONVERT(VARCHAR(10) , @CODIGO) + ' - ' + @NOME_DO_PRODUTO + ' NO MÊS ' + CONVERT(VARCHAR(2), @MES) + ' E ANO ' + CONVERT(VARCHAR(4),@ANO) + ' FOI DE ' + CONVERT(VARCHAR(20), @TOTAL_VENDAS);
SET @I = @I + 1;
END;