1
resposta

[Sugestão] Resultado Final: Mais valores do que o informado na resolução

(SQL SERVER E SSMS)

Utilizando o comando abaixo:

SELECT p.id, c.nome, SUM(ip.precounitario) AS ValorTotalPedido
FROM clientes c
JOIN pedidos p ON c.id = p.idcliente
JOIN itenspedidos ip ON p.id = ip.idpedido
GROUP BY p.id, c.nome

Obtive muito mais valores que o sugerido na resolução:

Resultado sem HAVING

Para obter o mesmo resultado, somente usando o HAVING e uma lista dos p.id que esta na resolução

SELECT p.id, c.nome, SUM(ip.precounitario) AS ValorTotalPedido
FROM clientes c
JOIN pedidos p ON c.id = p.idcliente
JOIN itenspedidos ip ON p.id = ip.idpedido
GROUP BY p.id, c.nome
HAVING p.id in (1, 10, 101, 102, 103);

Resultado com HAVING

1 resposta

Ei! Tudo bem, Robson?

Seu código SQL está certo, parabéns! Excelente análise e comparação dos resultados, você entendeu bem o comportamento do JOIN, GROUP BY e HAVING.

Continue se dedicando aos estudos e qualquer dúvida, compartilhe.

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