Resposta do professor:
SELECT p.idCliente, c.nome, SUM(ip.quantidade * ip.precounitario) as Valortotal
FROM clientes c
INNER JOIN pedidos p ON c.id = p.idcliente
INNER JOIN itensPedido ip ON p.id = ip.idpedido
GROUP BY p.idCliente
ORDER BY Valortotal DESC
LIMIT 1;
Pelo que eu percebi nas aulas, a coluna "precounitario" da tabela "itenspedidos" já representa o resultado do calculo (preço do produto * quantidade). Diante disso, por que foi necessário utilizar a multiplicação "SUM(ip.quantidade * ip.precounitario)" na consulta do professor?
Segue minha resposta:
SELECT c.nome, c.id as 'Id do cliente', sum(ip.'Total por pedido') as ' Valor Total por cliente'
FROM clientes c
JOIN pedidos p
on c.id = p.idcliente
JOIN (
SELECT idpedido, sum(precounitario) AS 'Total por pedido'
FROM itenspedidos
GROUP BY idpedido) as ip
on p.id = ip.idpedido
GROUP BY c.nome
ORDER BY sum(ip.'Total por pedido') DESC
LIMIT 1;