select c.nome, count(p.id) as quantidade_pedidos, SUM(ip.precounitario) as valor_total
from pedidos p
join clientes c on p.idcliente = c.id
join itenspedidos ip on p.id = ip.idpedido
group by c.nome
order by c.nome
select c.nome, count(p.id) as quantidade_pedidos, SUM(ip.precounitario) as valor_total
from pedidos p
join clientes c on p.idcliente = c.id
join itenspedidos ip on p.id = ip.idpedido
group by c.nome
order by c.nome
Olá, Vinicius! Como vai?
Parabéns pela resolução da atividade!
Observei que você explorou o uso de JOIN para relacionar tabelas, utilizou muito bem funções de agregação como COUNT e SUM para gerar métricas relevantes e ainda compreendeu a importância de GROUP BY e ORDER BY para organizar os resultados de forma clara.
Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.
Uma dica interessante para o futuro é incluir o GROUP BY também pelo c.id, garantindo maior consistência caso existam clientes com nomes iguais. Assim:
SELECT c.id, c.nome,
COUNT(p.id) AS quantidade_pedidos,
SUM(ip.precounitario) AS valor_total
FROM pedidos p
JOIN clientes c ON p.idcliente = c.id
JOIN itenspedidos ip ON p.id = ip.idpedido
GROUP BY c.id, c.nome
ORDER BY c.nome;
Isso faz com que o relatório seja mais robusto e evite duplicidades nos resultados.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!