2
respostas

[Dúvida] Dois argumentos GROUP BY

Bom dia. Estou com uma dúvida, fiz esse código

SELECT c.nome, sum(ip.quantidade * pr.preco) as VTP
FROM itenspedidos as ip
join produtos as pr on ip.idproduto = pr.id
join pedidos as p on ip.idpedido = p.id
join clientes as c on p.idcliente = c.id
group by c.nome;

porém ele retorna números muito grandes: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeassim que passo no GROUP BY o p.id, o calculo passa corretamente

SELECT c.nome, sum(ip.quantidade * pr.preco) as VTP
FROM itenspedidos as ip
join produtos as pr on ip.idproduto = pr.id
join pedidos as p on ip.idpedido = p.id
join clientes as c on p.idcliente = c.id
group by p.id, c.nome;

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeeu só queria entender o por que de funcionar tendo que ter o p.id no group by e não somente o c.nome, no final das contas, o nome já está atrelado ao id nessa consulta, não? o que eu tô deixando passar nesse entendimento?

no mais, ótima aula e obrigado... Adeeeus

2 respostas

perdão galera, já entendi o que eu tava deixando passar, o cliente pediu mais vezes, o group by por id do pedido seria o custo total por aquele pedido feito (a segunda imagem do post anterior) e o group by por nome do cliente faz a união de todos pedidos feitos pelo devido nome de cliente, mosquei mas no exercicio posterior a este me deu uma luzinha

já imaginava que o código não estava errado, mas mosquei no entendimento

muitos dias sem fazer aula quebra o raciocinio, mas vlw Adeeeus

Oii, Matheus! Como você está?

Fico feliz que tenha encontrado a solução para o problema que estava enfrentando. Verdade, quando temos um hiato nos estudos isso pode acontecer, comigo também acontece. haha

Agradeço por retornar dizendo como resolveu. Qualquer dúvida que surgir, não deixe de compartilhar no fórum para podermos te auxiliar.

Bons estudos, Matheus!