Prezada Equipe Alura,
Gostaria de solicitar, por gentileza, a revisão e correção do Exercício 10 do curso, referente ao cálculo de totais de pedidos.
O problema encontrado reside no cálculo da coluna precounitario da tabela itenspedidos. Conforme a explicação em aula e a conferência dos dados, os valores nesta coluna já representam o subtotal do item (ou seja, já estão resultando da multiplicação de quantidade * preco_unitario).
Ao somar esses valores ou aplicar uma nova multiplicação na query de resolução, o cálculo final do pedido resulta em uma duplicação indevida da quantidade.
Em resumo: o campo precounitario em itenspedidos deve ser tratado como o preço total daquele item na compra, e não como o preço unitário individual.
Segue a query com a lógica de cálculo corrigida:
SELECT
c.id,
c.nome,
ROUND(SUM(precounitario), 0) AS total_orders
FROM itenspedidos ip
LEFT JOIN produtos p
ON p.id = ip.idproduto
LEFT JOIN pedidos pd
ON pd.id = ip.idpedido
LEFT JOIN clientes c
ON pd.idcliente = c.id
GROUP BY c.id, c.nome
order by total_orders DESC
LIMIT 1;