Olá, bom dia. Realizei a subconsulta necessária para substituir o Having, como manda a questão. No começo tentei continuar utilizando os ALIAS que fiz no código anterior, onde tive que referenciar as tabelas após fazer o Inner Join. Quando resolvi ignorá-los, deu certo.
Posso então, abandonar os ALIAS anteriores e substituir pelo novo da Subconsulta (INF_QNTD) por que os anteriores estão encapsulados? Portanto o código já está guardando essa informação? Não ficou assim tão claro para mim.
SELECT INF_QNTD.CODIGO_DO_PRODUTO, INF_QNTD.NOME_DO_PRODUTO, INF_QNTD.SUM_QNTD
FROM
(
SELECT INF.CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO, SUM(INF.QUANTIDADE) AS SUM_QNTD
FROM ITENS_NOTAS_FISCAIS INF
INNER JOIN TABELA_DE_PRODUTOS TP
ON INF.CODIGO_DO_PRODUTO = TP.CODIGO_DO_PRODUTO
GROUP BY INF.CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO
ORDER BY SUM(INF.QUANTIDADE) DESC
)INF_QNTD
WHERE INF_QNTD.SUM_QNTD > 394000;