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'