Oi, Ricardo! Tudo bem?
Você está no caminho certo para desenvolver a subconsulta! A mensagem de erro que você compartilhou afirma que estamos tentando trabalhar com dois campos (INF.CODIGO_DO_PRODUTO
e SUM(INF.QUANTIDADE) AS QUANTIDADE
) dentro da subconsulta, o que não é possível quando usamos a cláusula IN
desta maneira.
Para que tudo funcione como o esperado, precisamos lidar com apenas uma coluna, a qual será analisada pela "tabela externa".
Os sabores que estamos buscando podem ser apresentados levando em consideração o código do produto. Por esse motivo, removeremos o SUM(INF.QUANTIDADE) AS QUANTIDADE
e deixaremos apenas INF.CODIGO_DO_PRODUTO
, desta forma:
SELECT DISTINCT SABOR FROM TABELA_DE_PRODUTOS WHERE
CODIGO_DO_PRODUTO IN (
SELECT INF.CODIGO_DO_PRODUTO 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 HAVING SUM(INF.QUANTIDADE) > 394000 );
Com isso, garantimos que a tabela externa compare seus códigos de produto com os códigos de produto contido na tabela interna, retornando apenas o que é de seu interesse! Ao final, teremos uma lista com os sabores mais vendidos pela loja de sucos de fruta.
Espero ter ajudado, Ricardo! Fico à disposição caso novas dúvidas surjam.
Abraços!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!