Resposta esperada:
SELECT CODIGO_DO_PRODUTO,
SUM(QUANTIDADE) AS "TOTAL DE VENDAS"
FROM ITENS_NOTAS_FISCAIS
GROUP BY CODIGO_DO_PRODUTO
HAVING SUM(QUANTIDADE) > 394000
ORDER BY SUM(QUANTIDADE) DESC;
Porém, como o exercício pede produtos que venderam mais que 394000 LITROS, temos que considerar que nem todos os produtos têm sua apresentação em litros. Alguns apresentam tamanho em ml.
Para que o resultado estivesse 100% de acordo com o solicitado, seria necessário o uso de alguns conceitos ainda não vistos no curso:
SELECT INF.CODIGO_DO_PRODUTO,
SUM(INF.QUANTIDADE * CD_LITRO.QTD_LITROS) AS "TOTAL DE VENDAS EM LITROS",
FROM ITENS_NOTAS_FISCAIS INF
JOIN
(SELECT CODIGO_DO_PRODUTO,
TO_NUMBER(SUBSTR(TAMANHO, 1, INSTR(TAMANHO, ' Litro') - 1))
AS QTD_LITROS
FROM TABELA_DE_PRODUTOS
WHERE INSTR(TAMANHO, ' Litro') > 0
UNION
SELECT CODIGO_DO_PRODUTO,
TO_NUMBER(SUBSTR(TAMANHO, 1, INSTR(TAMANHO, ' ml') - 1)) / 1000
AS QTD_LITROS
FROM TABELA_DE_PRODUTOS
WHERE INSTR(TAMANHO, ' ml') > 0) CD_LITRO
ON INF.CODIGO_DO_PRODUTO = CD_LITRO.CODIGO_DO_PRODUTO
GROUP BY INF.CODIGO_DO_PRODUTO
HAVING SUM(INF.QUANTIDADE * CD_LITRO.QTD_LITROS) > 394000
ORDER BY SUM(INF.QUANTIDADE * CD_LITRO.QTD_LITROS) DESC;