Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Minha resolução

CREATE PROCEDURE FaturamentoDepartamento (
    @DATA_INICIAL DATE,
    @DATA_FINAL DATE
)
AS
BEGIN
    DECLARE @DEPARTAMENTO TABLE (
        SABOR VARCHAR(20),
        DEPARTAMENTO VARCHAR(30)
    )

    INSERT INTO @DEPARTAMENTO
    SELECT DISTINCT SABOR, 'FRUTAS NÃO CÍTRICAS' AS DEPARTAMENTO
    FROM [TABELA DE PRODUTOS]
    WHERE SABOR IN ('Açai', 'Cereja', 'Cereja/Maça', 'Maça', 'Manga', 'Maracujá', 'Melância')
    UNION
    SELECT DISTINCT SABOR, 'FRUTAS CÍTRICAS' AS DEPARTAMENTO
    FROM [TABELA DE PRODUTOS]
    WHERE SABOR IN ('Laranja', 'Uva', 'Limão', 'Morango', 'Morango/Limão', 'Lima/Limão')

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

EXEC FaturamentoDepartamento '2015-01-01', '2015-12-31'

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Oi, Ycaro! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Uma dica interessante para o futuro é usar TRY_CAST para garantir que os valores numéricos estejam no formato correto antes de calcular o faturamento. Por exemplo:


SELECT DP.DEPARTAMENTO, 
       SUM(TRY_CAST(INF.QUANTIDADE AS FLOAT) * TRY_CAST(INF.PRECO AS FLOAT)) AS FATURAMENTO
FROM [TABELA DE PRODUTOS] TP
INNER JOIN [ITENS NOTAS FISCAIS] INF
ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO
-- resto do join

O código acima tenta converter os valores para tipo FLOAT antes de realizar a multiplicação, prevenindo erros caso algum valor esteja em formato diferente.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!