1
resposta

[Sugestão] Meu código

Fiz de uma forma diferente,

CREATE PROCEDURE RelatorioVendaDepartamento
@DATA_INICIAL DATE = '2015-01-01',
@DATA_FINAL DATE = '2015-12-01',
@FATURAMENTO_TOTAL FLOAT OUTPUT
AS
BEGIN

-- Criei uma variável que recebe uma tabela temporária com os departamentos;

DECLARE @DEPARTAMENTO TABLE (SABOR VARCHAR (20), DEPARTAMENTO VARCHAR (20))
    INSERT INTO @DEPARTAMENTO (SABOR, DEPARTAMENTO)
    SELECT SABOR,
        CASE 
            WHEN SABOR IN ('Laranja', 'Lima/Limão', 'Morango', 'Morango/Limão', 'Uva') THEN 'FRUTAS CÍTRICAS'
            ELSE 'NÃO CÍTRICAS'
        END AS DEPARTAMENTO 
    FROM [TABELA DE PRODUTOS]
    
    SELECT @FATURAMENTO_TOTAL = SUM(INF.[PREÇO] * INF.[QUANTIDADE])
    FROM [NOTAS FISCAIS] NF
    INNER JOIN [ITENS NOTAS FISCAIS] INF
    ON NF.NUMERO = INF.NUMERO
    INNER JOIN [TABELA DE PRODUTOS] TP
    ON INF.[CODIGO DO PRODUTO] = TP.[CODIGO DO PRODUTO]
    INNER JOIN @DEPARTAMENTO DP
    ON DP.SABOR = TP.SABOR
    WHERE NF.[DATA] BETWEEN @DATA_INICIAL AND @DATA_FINAL

SELECT @FATURAMENTO_TOTAL AS TotalFaturamento

    SELECT DP.DEPARTAMENTO, DP.SABOR, SUM(INF.[PREÇO] * INF.[QUANTIDADE]) AS FATURAMENTO
    FROM [NOTAS FISCAIS] NF
    INNER JOIN [ITENS NOTAS FISCAIS] INF
    ON NF.NUMERO = INF.NUMERO
    INNER JOIN [TABELA DE PRODUTOS] TP
    ON INF.[CODIGO DO PRODUTO] = TP.[CODIGO DO PRODUTO]
    INNER JOIN @DEPARTAMENTO DP
    ON DP.SABOR = TP.SABOR
    WHERE NF.[DATA] BETWEEN @DATA_INICIAL AND @DATA_FINAL
    GROUP BY DP.DEPARTAMENTO, DP.SABOR
    ORDER BY DEPARTAMENTO
END

DECLARE @FATURAMENTO_TOTAL FLOAT

EXEC RelatorioVendaDepartamento 
    @DATA_INICIAL = '2015-01-01', 
    @DATA_FINAL = '2015-12-31',
    @FATURAMENTO_TOTAL = @FATURAMENTO_TOTAL OUTPUT

SELECT @FATURAMENTO_TOTAL AS TotalFaturamento
1 resposta

Oi Lucas!

Seu código está bem estruturado e estar no caminho certo para resolver o problema proposto.

Meus parabéns por compartilhar sua sugestão e buscar outras alternativas.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!